#!/usr/bin/make -f

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

export DH_COMPAT=10

export LC_ALL:=C.UTF-8
export
CLASSPATH:=/usr/share/java/ivy.jar

# TODO: checks disabled because current Debian/Raspbian 11 does not properly
# package ant-optional (missing ant-junitlauncher.jar)
ifeq ($(shell lsb_release -rs),11)
ifeq ($(shell lsb_release -is),Debian)
DEB_BUILD_OPTIONS=nocheck
else ifeq ($(shell lsb_release -is),Raspbian)
DEB_BUILD_OPTIONS=nocheck
endif
endif

build: build-stamp
build-stamp:
	dh_testdir

	# Add here commands to compile the package.
	ant -v \
		-Ddestdir=$(DESTDIR) \
		-Divy.settings.file=/usr/share/ivy-debian-helper/ivysettings.xml \
		-Divy.default.ivy.user.dir=$(shell pwd)/.ivy \
		-Dconfig.docdir.package=/usr/share/doc/libclianthus-java \
		-Dconfig.licensedir.package=/usr/share/doc/libclianthus-java \
		-Dconfig.javadocdir.package=/usr/share/doc/libclianthus-java/api \
		-Dconfig.javadocdir.java=/usr/share/doc/openjdk-17-doc/api \
		-Dlinux.flavour=debian \
		build
ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS)))
	ant -v \
		-Ddestdir=$(DESTDIR) \
		-Divy.settings.file=/usr/share/ivy-debian-helper/ivysettings.xml \
		-Divy.default.ivy.user.dir=$(shell pwd)/.ivy \
		-Dconfig.docdir.package=/usr/share/doc/libclianthus-java \
		-Dconfig.licensedir.package=/usr/share/doc/libclianthus-java \
		-Dconfig.javadocdir.package=/usr/share/doc/libclianthus-java/api \
		-Dconfig.javadocdir.java=/usr/share/doc/openjdk-17-doc/api \
		-Dlinux.flavour=debian \
		test
endif
	# --- end custom part for compiling

	touch build-stamp

clean:
	dh_testdir
	dh_testroot
	rm -f build-stamp

	# Add here commands to clean up after the build process.
	ant -v clean
	# --- end custom part for cleaning up

	dh_clean

DESTDIR = /usr/src/packages/BUILD/debian/tmp

install: build
	dh_testdir
	dh_testroot
	dh_prep
	dh_installdirs

	# Add here commands to install the package
	# The DESTDIR Has To Be Exactly  /usr/src/packages/BUILD/debian/<nameOfPackage>
	dh_auto_build -- -v \
		-Ddestdir=$(DESTDIR) \
		-Divy.settings.file=/usr/share/ivy-debian-helper/ivysettings.xml \
		-Divy.default.ivy.user.dir=$(shell pwd)/.ivy \
		-Dconfig.docdir.package=/usr/share/doc/libclianthus-java \
		-Dconfig.licensedir.package=/usr/share/doc/libclianthus-java \
		-Dconfig.javadocdir.package=/usr/share/doc/libclianthus-java/api \
		-Dconfig.javadocdir.java=/usr/share/doc/openjdk-11-doc/api \
		-Dlinux.flavour=debian \
		install
	mh_installpoms -plibclianthus-java
	mh_linkjars
	ln -s LICENSE $(DESTDIR)/usr/share/doc/libclianthus-java/copyright
	dh_install
	# --- end custom part for installing

# Build architecture-independent files here.
binary-indep: build install
	# We have nothing to do by default.

# Build architecture-dependent files here.
binary-arch: build install
	dh_testdir
	dh_testroot
	dh_installchangelogs
	dh_link
	dh_compress
	dh_fixperms
	dh_installdeb
	dh_gencontrol
	dh_md5sums
	dh_builddeb

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