#!/usr/bin/make -f

# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1

export DESTDIR=$(shell pwd)/debian/check

DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH)

ifneq (,$(filter noopt,$(DEB_BUILD_OPTIONS)))
	CFLAGS_OPT := -O0
else
	CFLAGS_OPT := -O2
endif

configure: configure-stamp
configure-stamp:
	dh_testdir
	dh_autotools-dev_updateconfig
	 CFLAGS="$(CFLAGS_OPT)" ./configure --prefix=/usr \
		--libdir=\$${prefix}/lib/$(DEB_HOST_MULTIARCH) \
		--infodir=/usr/share/info --enable-plain-docdir
	touch configure-stamp

configure-pic: configure-stamp-pic
configure-stamp-pic:
	dh_testdir
	dh_autotools-dev_updateconfig
	CFLAGS="-fPIC $(CFLAGS_OPT)" ./configure --prefix=/usr \
		--libdir=\$${prefix}/lib/$(DEB_HOST_MULTIARCH) \
		--infodir=/usr/share/info \
		--enable-plain-docdir
	touch configure-stamp-pic

build: build-pic configure-stamp build-stamp
build-stamp:
	dh_testdir
	$(MAKE)
	touch build-stamp

build-pic: configure-stamp-pic build-stamp-pic
build-stamp-pic:
	#remove check.info so it will be regenerated
	rm -f doc/check.info
	dh_testdir
	$(MAKE)
	mv src/.libs/libcheck.a src/libcheck_pic.a
	#run the testsuite
	dh_auto_test
	#remove dynamic content for Multi-Arch:same (see #718200)
	sed -i -e "1d" doc/check.info
	touch build-stamp-pic

clean:
	dh_testdir
	dh_testroot
	rm -f build-stamp configure-stamp build-stamp-pic configure-stamp-pic
	[ ! -f Makefile ] || $(MAKE) distclean
	rm -f src/libcheck_pic.a
	dh_autotools-dev_restoreconfig
	dh_clean

install: build
	dh_testdir
	dh_testroot
	dh_installdirs

	$(MAKE) DESTDIR=$(DESTDIR) install
	# fix the installation
	rm -f debian/check/usr/share/doc/check/COPYING*

install-pic: build-pic
	dh_testdir
	dh_testroot
	dh_prep
	dh_installdirs
	mkdir -p debian/check/usr/lib/$(DEB_HOST_MULTIARCH)
	cp src/libcheck_pic.a debian/check/usr/lib/$(DEB_HOST_MULTIARCH)/

binary-arch: install-pic install
	dh_testdir
	dh_testroot
	dh_installdocs -XTODO
	dh_installinfo doc/check.info
	dh_installexamples
	dh_installchangelogs ChangeLog
	dh_compress -XMakefile
	# fix the setup
	sed -i '/\/\* generated using gnu compiler gcc.*/d' debian/check/usr/include/check_stdint.h
	rm -f debian/check/usr/share/doc/check/ChangeLog.gz
	rm -f debian/check/usr/lib/$(DEB_HOST_MULTIARCH)/libcheck.so.*
	rm -f debian/check/usr/lib/$(DEB_HOST_MULTIARCH)/libcheck.so
	rm -f debian/check/usr/lib/$(DEB_HOST_MULTIARCH)/libcheck.la
	rm -f debian/check/usr/share/info/dir.gz
	rm -rf debian/check/usr/share/doc/check/example
	dh_link
	dh_strip
	dh_fixperms
	dh_installdeb
	dh_gencontrol
	dh_md5sums
	dh_builddeb

binary-indep:
	# nothing to do

build-arch: build
build-indep: build

binary: binary-arch
.PHONY: build clean binary-indep binary-arch binary install configure
