#!/usr/bin/make -f
# $Id: rules,v 1.18 2025/06/14 20:41:28 tom Exp $
# Made with the aid of dh_make, by Craig Small
# Sample debian/rules that uses debhelper. GNU copyright 1997 by Joey Hess.
# Some lines taken from debmake, by Cristoph Lameter.

# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1

SHELL = /bin/bash
DPKG_EXPORT_BUILDFLAGS = 1
export DEB_BUILD_MAINT_OPTIONS := hardening=+all qa=+bug reproducible=+all

include /usr/share/dpkg/buildflags.mk

# These are used for cross-compiling and for saving the configure script
# from having to guess our platform (since we know it already)
DEB_HOST_GNU_TYPE   ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
DEB_BUILD_GNU_TYPE  ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)

TARGET_DIR = $(CURDIR)/debian/adacurses
SAMPLE_DIR = $(TARGET_DIR)/usr/libexec/AdaCurses
OUR_LIBDIR = /usr/lib/$(DEB_HOST_GNU_TYPE)

ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
        CFLAGS += -O0
else
        CFLAGS += -O2
endif
ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS)))
        INSTALL_PROGRAM += -s
endif

verbose = # -v

configure: configure-stamp
configure-stamp:
	dh_testdir

	./configure \
		--host=$(DEB_HOST_GNU_TYPE) \
		--build=$(DEB_BUILD_GNU_TYPE) \
		--libdir=$(OUR_LIBDIR) \
		--prefix=/usr \
		--disable-rpath-link \
		--with-shared \
		--with-ada-sharedlib \
		--with-screen=ncursesw6td \
		--without-pkg-config

	touch configure-stamp

build: build-stamp
build-stamp: configure-stamp
	dh_testdir

	$(MAKE)

	touch build-stamp

clean:
	dh_testdir
	dh_testroot

	[ ! -f makefile ] || $(MAKE) distclean

	rm -f configure-stamp build-stamp install-stamp

	dh_clean             $(verbose)

install: install-stamp
install-stamp: build-stamp
	dh_testdir
	dh_testroot
	dh_prep		     $(verbose)
	dh_installdirs	     $(verbose)

	$(MAKE) install DESTDIR=$(TARGET_DIR)

	# FIXME: it would be nice to make these into separate packages
	( cd samples && $(MAKE) install.examples DESTDIR=$(TARGET_DIR) BINDIR=$(SAMPLE_DIR) )
	( cd doc && $(MAKE) install.html DESTDIR=$(TARGET_DIR) )

	find $(TARGET_DIR) -type f -name '*.so*' -print -exec chrpath -d {} \;

	touch install-stamp

# Build architecture-independent files here.
binary-indep: build install
# No binary-indep target.

# Build architecture-dependent files here.
binary-arch: build install
	dh_testdir
	dh_testroot
	dh_lintian           $(verbose)
	dh_installdocs       $(verbose)
	dh_installexamples   $(verbose)
	dh_installchangelogs $(verbose)  NEWS
	dh_strip             $(verbose)
	dh_compress	     $(verbose)
	dh_fixperms	     $(verbose)
	dh_installdeb	     $(verbose)
	dh_makeshlibs	     $(verbose)
	dh_shlibdeps	     $(verbose) -l$(OUR_LIBDIR)
	dh_gencontrol	     $(verbose)
	dh_md5sums	     $(verbose)
	dh_builddeb	     $(verbose)

binary: binary-indep binary-arch
.PHONY: build clean binary-indep binary-arch binary install install-stamp
