#!/usr/bin/make -f

include /usr/share/dpkg/pkg-info.mk

EXTRA_SHARED_FLAGS=-Wl,-soname,libflint-$(DEB_VERSION_UPSTREAM).so
MAKE_OVERRIDE = AT= QUIET_CXX= QUIET_CC= QUIET_AR= INCS=-I$(CURDIR) \
                ABI_FLAG='$(LDFLAGS)'

# Without -ansi, testsuite hangs running d_mat's t-qr on any-i386
# TODO: Fix source itself?
DEB_HOST_ARCH_CPU ?= $(shell dpkg-architecture -qDEB_HOST_ARCH_CPU)
ifeq ($(DEB_HOST_ARCH_CPU),i386)
export DEB_CFLAGS_MAINT_APPEND = -ansi
endif

export DEB_BUILD_MAINT_OPTIONS = hardening=+all

# FTBFS on mips and mipsel seems to be caused by a bug in gcc 6,
# see https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78176
ifeq ($(DEB_HOST_ARCH_CPU), $(filter $(DEB_HOST_ARCH_CPU), mips mipsel))
export DEB_CFLAGS_MAINT_APPEND = -march=mips2
export DEB_CXXFLAGS_MAINT_APPEND = -march=mips2
endif

%:
	dh $@

# upstream Makefile has only CFLAGS, not CPPFLAGS and not even CXXFLAGS, so
# inject flags using configure. let's hope CFLAGS will always be good enough
# even for $(CXX)
override_dh_auto_configure:
	./configure --prefix="/usr" --with-ntl CFLAGS='$(CPPFLAGS) $(CFLAGS)'
	sed -i Makefile -e "/^FLINT_LIB\>=/s/libflint/libflint-$(DEB_VERSION_UPSTREAM)/"

override_dh_auto_build:
	dh_auto_build --parallel -- $(MAKE_OVERRIDE) \
	    EXTRA_SHARED_FLAGS="$(EXTRA_SHARED_FLAGS)"
	$(MAKE) -C doc/latex

override_dh_auto_install:
	dh_auto_install
	cd debian/tmp/usr/lib ; ln -sf libflint-$(DEB_VERSION_UPSTREAM).so.* libflint-$(DEB_VERSION_UPSTREAM).so

override_dh_auto_test:
	dh_auto_test -- $(MAKE_OVERRIDE)

override_dh_installchangelogs:
	dh_installchangelogs NEWS
