#!/usr/bin/make -f
export DH_VERBOSE=1
export DEB_BUILD_MAINT_OPTIONS = hardening=+all

cflags_nopie = $(shell DEB_BUILD_MAINT_OPTIONS=hardening=+all,-pie dpkg-buildflags --get CFLAGS)
ldflags_nopie = $(shell DEB_BUILD_MAINT_OPTIONS=hardening=+all,-pie dpkg-buildflags --get LDFLAGS)

# don't emit NEON instructions whatsoever to prevent FTBFS on machines which
# doesn't support that, see #842143 [thanks to Paul Wise]
ifeq "$(shell dpkg-architecture -q DEB_HOST_ARCH)" "armhf"
clang_cflags := $(CFLAGS) -mfpu=vfpv3
clang_cxxflags := $(CXXFLAGS) -mfpu=vfpv3
endif

export HOSTNAME =
export PREFIX = /usr

ifeq "$(filter i386 amd64,$(shell dpkg-architecture -q DEB_HOST_ARCH_CPU))" ""
export AFL_NO_X86 = 1
endif

%:
	dh $@ --with buildinfo

override_dh_auto_build:
	$(MAKE)
	CFLAGS="$(cflags_nopie)" LDFLAGS="$(ldflags_nopie)" $(MAKE) -C libdislocator
	CFLAGS="$(cflags_nopie)" LDFLAGS="$(ldflags_nopie)" $(MAKE) -C libtokencap
	CFLAGS="$(CFLAGS) $(clang_cflags)" CXXFLAGS="$(CXXFLAGS) $(clang_cxxflags)" $(MAKE) -C llvm_mode

override_dh_auto_install:
	$(MAKE) install DESTDIR=debian/tmp
	rm debian/tmp/usr/share/doc/afl++-doc/ChangeLog
	rm debian/tmp/usr/share/doc/afl++-doc/README.md
	$(MAKE) -C libdislocator install DESTDIR=$(CURDIR)/debian/tmp
	$(MAKE) -C libtokencap install DESTDIR=$(CURDIR)/debian/tmp

override_dh_install:
	dh_install
ifneq "$(AFL_NO_X86)" ""
	cd debian/afl++/usr/bin/ && rm afl-gcc afl-g++
	cd debian/afl++/usr/lib/afl/ && rm as afl-as
	cd debian/afl++-clang/usr/bin/ && rm afl-clang afl-clang++
endif

override_dh_installdocs:
	dh_installdocs -A README.md

override_dh_buildinfo:
	dh_buildinfo -Nafl++-doc

override_dh_strip_nondeterminism:
	dh_strip_nondeterminism -Nafl++-doc # don't touch docs package, see #803503

override_dh_compress:
	dh_compress -X.c -X.mp4 -X.sql -XREADME -X.txt

override_dh_strip:
	dh_strip -Nafl++-doc

override_dh_makeshlibs:
	dh_makeshlibs -Nafl++-doc 
