#!/usr/bin/make -f
#export DH_VERBOSE = 1

# see FEATURE AREAS in dpkg-buildflags(1)
include /usr/share/dpkg/pkg-info.mk
export DEB_VERSION_UPSTREAM

DEB_REQUESTED_PACKAGES := $(shell dh_listpackages)
when-in-build-profile     = $(patsubst 0,$(3),$(patsubst 1,$(2),$(patsubst 01,1,0$(patsubst $(1),1,$(filter $(1),$(DEB_BUILD_PROFILES))))))
when-not-in-build-profile = $(patsubst 0,$(3),$(patsubst 1,$(2),$(patsubst 11,0,1$(patsubst $(1),1,$(filter $(1),$(DEB_BUILD_PROFILES))))))
when-building-package     = $(patsubst 0,$(3),$(patsubst 1,$(2),$(patsubst 01,1,0$(patsubst $(1),1,$(filter $(1),$(DEB_REQUESTED_PACKAGES))))))
when-not-building-package = $(patsubst 0,$(3),$(patsubst 1,$(2),$(patsubst 11,0,1$(patsubst $(1),1,$(filter $(1),$(DEB_REQUESTED_PACKAGES))))))

export DEB_BUILD_MAINT_OPTIONS = hardening=+all

ifeq (x,$(call when-building-package,liblime-java,x))
export JAVA_HOME=/usr/lib/jvm/default-java
export CLASSPATH=/usr/share/java/csv.jar:/usr/share/java/debug-disable.jar:/usr/share/java/itext.jar
dh_modules ?= --with
dh_modules += javahelper
endif

%:
	dh $@ $(dh_modules)

# I suspect this might be necessary to minimize the ABI difference
# when disabling JNI (otherwise C++11 is used which should generate
# different symbols thus throwing off dh_gensymbols)
options += -DCMAKE_CXX_STANDARD=14
options += -DDEB_VERSION_UPSTREAM=$${DEB_VERSION_UPSTREAM%+dfsg*}
options += -DCMAKE_SKIP_RPATH=ON # with debhelper 14 this will be the default
options += -DENABLE_STATIC=NO
options += -DENABLE_UNIT_TESTS=NO # would need: libbellesip-dev

features += -DENABLE_SHARED=$(call when-building-package,liblime0,YES,NO)
features += -DENABLE_DOC=$(call when-building-package,liblime-doc,YES,NO) # doxygen
features += -DENABLE_CURVE448=YES # libdecaf-dev
features += -DENABLE_CURVE25519=YES # libbctoolbox-dev
features += -DENABLE_JNI=YES
features += -DENABLE_C_INTERFACE=YES
features += -DENABLE_LIMEJAR=$(call when-building-package,liblime-java,YES,NO) # default-jdk, javahelper

override_dh_auto_configure:
	dh_auto_configure -- \
	 ${options} \
	 ${features}

override_dh_auto_build-arch:
	dh_auto_build -- lime
	mkdir -p obj-$(DEB_HOST_MULTIARCH)/doc/html

override_dh_auto_build-indep:
	dh_auto_build -- \
		$(call when-in-build-profile,nojava,,Lime) \
		$(call when-in-build-profile,nodoc,,doc)
