#!/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 $@

override_dh_auto_build:
	$(MAKE)
	CFLAGS="$(cflags_nopie)" LDFLAGS="$(ldflags_nopie)" $(MAKE) -C libdislocator
	CFLAGS="$(cflags_nopie)" LDFLAGS="$(ldflags_nopie)" $(MAKE) -C libtokencap
	CFLAGS="$(clang_cflags)" CXXFLAGS="$(clang_cxxflags)" $(MAKE) -C llvm_mode CXX=g++
# CXX against build break with llvm 5.0: https://groups.google.com/d/topic/afl-users/D3-jbylxHeg (thanks to Jakub Wilk)

override_dh_auto_install:
	$(MAKE) install DESTDIR=debian/tmp
	rm debian/tmp/usr/share/doc/afl-doc/docs/ChangeLog
	rm debian/tmp/usr/share/doc/afl-doc/docs/README
	$(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 docs/README
	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_gencontrol:
#	debian/dh_clang -p afl-clang
	dh_gencontrol
