#!/usr/bin/make -f

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

# Set some custom build flags
export DEB_BUILD_MAINT_OPTIONS = hardening=+bindnow,+pie
DEB_CFLAGS_MAINT_APPEND = -Wall
include /usr/share/dpkg/architecture.mk
-include /usr/share/dpkg/buildtools.mk

# Used e.g. for manpages (to build them in a reprodicible way)
include /usr/share/dpkg/pkg-info.mk
DEB_DATE := $(strip $(shell LC_ALL=C date -u +%F -d@$(SOURCE_DATE_EPOCH)))

%:
	dh $@

override_dh_auto_configure:
	dh_auto_configure -- \
		--disable-asciidoc \
		--libdir=/lib/$(DEB_HOST_MULTIARCH) \
		--sbindir=/sbin \
		--with-tmpfilesdir=/usr/lib/tmpfiles.d \
		--enable-shared \
		--enable-fips \
		--enable-cryptsetup-reencrypt

execute_after_dh_auto_build:
	# build askpass and passdev keyscripts
	$(CC) -o debian/askpass debian/askpass.c -Wall -Werror $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -pedantic
	$(CC) -o debian/scripts/passdev debian/scripts/passdev.c -Wall -Werror $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -pedantic

	# build suspend binary
	$(CC) -o debian/scripts/suspend/cryptsetup-suspend debian/scripts/suspend/cryptsetup-suspend.c \
		 -Wall -Werror $(CFLAGS) $(CPPFLAGS) -I$(CURDIR)/lib $(LDFLAGS) -L$(CURDIR)/.libs -lcryptsetup -pedantic

override_dh_auto_test:

execute_after_dh_auto_install:
	# install gettext po files (for luksformat)
	$(MAKE) -C debian/scripts/po DESTDIR=$(CURDIR)/debian/cryptsetup-bin install

execute_after_dh_install:
	# install apport files when building on Ubuntu
ifeq ($(shell dpkg-vendor --is Ubuntu && echo yes),yes)
	mkdir -p $(CURDIR)/debian/cryptsetup/usr/share/apport/package-hooks
	install -m 0644 debian/cryptsetup.apport \
		$(CURDIR)/debian/cryptsetup/usr/share/apport/package-hooks/cryptsetup.py
endif

override_dh_installinit:
	dh_installinit -pcryptsetup --no-start --name=cryptdisks
	dh_installinit -pcryptsetup --no-start --name=cryptdisks-early

override_dh_auto_clean:

execute_after_dh_fixperms-indep:
	chmod 0755 debian/cryptsetup-initramfs/usr/share/cryptsetup/initramfs/bin/*
	chmod 0755 debian/cryptsetup-initramfs/usr/share/initramfs-tools/hooks/*
	chmod 0755 debian/cryptsetup-initramfs/usr/share/initramfs-tools/scripts/*/*
