#!/usr/bin/make -f
# -*- makefile -*-

# Hardening options.
export DEB_CFLAGS_MAINT_APPEND = -Wall -pedantic -fPIC
export DEB_CXXFLAGS_MAINT_APPEND = -Wall -pedantic -fPIC
export DEB_LDFLAGS_MAINT_APPEND = -Wl,--as-needed

# Export build flags.
DPKG_EXPORT_BUILDFLAGS = 1
include /usr/share/dpkg/buildflags.mk

# Environment information.
DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH)

# Installation paths.
DESTDIR = $(CURDIR)/debian/tmp
INSTALL_INCDIR = $(DESTDIR)/usr/include
INSTALL_LIBDIR = $(DESTDIR)/usr/lib/$(DEB_HOST_MULTIARCH)

%:
	dh $@ --with=autoreconf --parallel

gen-src-list:
	sh gensrclist.sh
	$(MAKE) -f Makefile.gnu dos2unix
	sh genfipsrclist.sh
	$(MAKE) -f Makefile.fip dos2unix

override_dh_autoreconf:
	dh_autoreconf $(MAKE) -- -f $(CURDIR)/debian/rules gen-src-list

override_dh_auto_build-arch:
	$(MAKE) CFLAGS="$(CFLAGS)" CXXFLAGS="$(CXXFLAGS)" LDFLAGS="$(LDFLAGS)"
	$(MAKE) -f Makefile.fip CFLAGS="$(CFLAGS)" CXXFLAGS="$(CXXFLAGS)" LDFLAGS="$(LDFLAGS)"

override_dh_auto_build-indep:
	cd $(CURDIR)/Wrapper/FreeImagePlus/doc && doxygen FreeImagePlus.dox

override_dh_auto_install-arch:
	dh_auto_install -- INCDIR="$(INSTALL_INCDIR)" INSTALLDIR="$(INSTALL_LIBDIR)"
	$(MAKE) -f Makefile.fip install INCDIR="$(INSTALL_INCDIR)" INSTALLDIR="$(INSTALL_LIBDIR)"

override_dh_auto_install-indep:

override_dh_auto_test-arch:
ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS)))
	echo "Building and running the FreeImage testsuite..."
	cd $(CURDIR)/TestAPI && \
	$(CXX) $(CXXFLAGS) -I$(CURDIR)/Dist *.cpp $(LDFLAGS) -L$(CURDIR)/Dist -lfreeimage -o testAPI && \
	LD_LIBRARY_PATH=$(CURDIR)/Dist ./testAPI
	echo "Building and running the FreeImagePlus testsuite..."
	cd $(CURDIR)/Wrapper/FreeImagePlus/test && \
	$(CXX) $(CXXFLAGS) -I$(CURDIR)/Dist *.cpp $(LDFLAGS) -L$(CURDIR)/Dist -lfreeimageplus -lfreeimage -o fipTest && \
	LD_LIBRARY_PATH=$(CURDIR)/Dist ./fipTest
endif

override_dh_auto_clean:
	dh_auto_clean
	$(MAKE) -f Makefile.fip clean

override_dh_install-indep:
	dh_installdocs --indep

override_dh_installdocs-indep:
	dh_installdocs --indep
	dh_doxygen --indep

override_dh_installchangelogs:
	dh_installchangelogs Whatsnew.txt

override_dh_strip:
	dh_strip --package=libfreeimage3 --dbg-package=libfreeimage3-dbg
	dh_strip --package=libfreeimageplus3 --dbg-package=libfreeimageplus3-dbg
