#!/usr/bin/make -f

export DEB_BUILD_MAINT_OPTIONS = hardening=+all
DPKG_EXPORT_BUILDFLAGS = 1
DPKG_EXPORT_BUILDTOOLS = 1
include /usr/share/dpkg/buildflags.mk
include /usr/share/dpkg/buildtools.mk
include /usr/share/dpkg/pkg-info.mk

MLTON_COMPILE_ARGS=$(patsubst %,-cc-opt '%',$(CFLAGS)) \
		   $(patsubst %,-as-opt '%',$(ASFLAGS)) \
		   $(patsubst %,-link-opt '%',$(LDFLAGS))

MLTON_COMPILE_ARGS=-cc-opt '$(CFLAGS)' -link-opt '$(LDFLAGS)' -as-opt '$(ASFLAGS)'
COMMON_OPTS=CC="$(CC)" \
	    DESTDIR="$(CURDIR)/debian/tmp" \
	    MLTON_VERSION=$(DEB_VERSION) \
	    PREFIX=/usr \
	    CFLAGS="$(CFLAGS)" \
	    CPPFLAGS="$(CPPFLAGS)" \
	    LDFLAGS="$(LDFLAGS)" \
	    MLTON_COMPILE_ARGS="$(MLTON_COMPILE_ARGS)"

%:
	dh $@

override_dh_auto_build-arch:
	$(MAKE) $(COMMON_OPTS)

override_dh_auto_build-indep:
	$(MAKE) $(COMMON_OPTS) docs

override_dh_auto_install-arch:
	$(MAKE) $(COMMON_OPTS) install-no-strip

override_dh_auto_install-indep:
	$(MAKE) $(COMMON_OPTS) install-docs

override_dh_compress:
	dh_compress -Xmlton/guide -X.sml

override_dh_strip:
	dh_strip --no-automatic-dbgsym

override_dh_missing-indep:
	# The files under usr/lib/mlton/targets/self get installed into
	# the mlton-runtime-* packages, which are not arch-indep.
	# Exclude / ignore them when building with only -A.
	dh_missing -Xusr/lib/mlton/targets/self

# We do not need to test documentation
# and the call to $(MAKE) check fails because
# the binary build/bin/mlton only exists if
# we have called build-arch
override_dh_auto_test-indep:

override_dh_auto_test-arch:
	$(MAKE) $(COMMON_OPTS) check
	$(MAKE) $(COMMON_OPTS) basis-check
	$(MAKE) $(COMMON_OPTS) libraries-check
