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

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


# These are used for cross-compiling and for saving the configure script
# from having to guess our platform (since we know it already)
DEB_HOST_GNU_TYPE   ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
DEB_BUILD_GNU_TYPE  ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)


CFLAGS = -Wall -g

ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
	CFLAGS += -O0
else
	CFLAGS += -O2
endif

debian/build/config.status: configure
	dh_testdir

	[ -d debian/build ] || mkdir debian/build

	cd debian/build; \
	CFLAGS="$(CFLAGS)" ../../configure \
	  --host=$(DEB_HOST_GNU_TYPE) --build=$(DEB_BUILD_GNU_TYPE) \
	  --prefix=/usr \
	  --sysconfdir=/etc \
	  --libexecdir=/usr/lib \
	  --localstatedir=/var \
	  --mandir=\$${prefix}/share/man \
	  --infodir=\$${prefix}/share/info \
	  --enable-dchroot --enable-dchroot-dsa \
	  --enable-doxygen \
	  --enable-static --disable-shared \
	  --with-bash-completion-dir=/etc/bash_completion.d

build: build-stamp

build-stamp: debian/build/config.status
	dh_testdir
	$(MAKE) -C debian/build all
	touch build-stamp

clean:
	dh_testdir
	dh_testroot
	rm -rf debian/build
	rm -rf debian/install
	rm -f build-stamp

ifneq "$(wildcard /usr/share/misc/config.sub)" ""
	cp -f /usr/share/misc/config.sub scripts/config.sub
endif
ifneq "$(wildcard /usr/share/misc/config.guess)" ""
	cp -f /usr/share/misc/config.guess scripts/config.guess
endif

	dh_clean

check: build
	dh_testdir
	dh_testroot
	$(MAKE) -C debian/build check

install: check
	dh_testdir
	dh_testroot
	dh_prep
	rm -rf debian/install

	dh_installdirs

	$(MAKE) -C debian/build install DESTDIR=$(CURDIR)/debian/install
	dh_install

	mkdir -p $(CURDIR)/debian/dchroot/usr/share/lintian/overrides
	mkdir -p $(CURDIR)/debian/dchroot-dsa/usr/share/lintian/overrides
	mkdir -p $(CURDIR)/debian/schroot/usr/share/lintian/overrides
	cp $(CURDIR)/debian/dchroot.lintian-overrides $(CURDIR)/debian/dchroot/usr/share/lintian/overrides/dchroot
	cp $(CURDIR)/debian/dchroot-dsa.lintian-overrides $(CURDIR)/debian/dchroot-dsa/usr/share/lintian/overrides/dchroot-dsa
	cp $(CURDIR)/debian/schroot.lintian-overrides $(CURDIR)/debian/schroot/usr/share/lintian/overrides/schroot

# Build architecture-independent files here.
binary-indep: build install
	dh_testdir -i
	dh_testroot -i
	dh_installchangelogs -i ChangeLog
	dh_installdocs -i
	find $(CURDIR)/debian/libsbuild-doc/usr/share/doc/libsbuild-doc -name '*.map' -print0 | xargs -0 rm -f
	find $(CURDIR)/debian/libsbuild-doc/usr/share/doc/libsbuild-doc -name '*.md5' -print0 | xargs -0 rm -f
	dh_installexamples -i
	dh_installman -i
	dh_link -i
	dh_compress -i
	dh_fixperms -i
	dh_installdeb -i
	dh_gencontrol -i
	dh_md5sums -i
	dh_builddeb -i

# Build architecture-dependent files here.
binary-arch: build install
	dh_testdir -a
	dh_testroot -a
	dh_installchangelogs -a ChangeLog
	dh_installdocs -a
	rm -rf $(CURDIR)/debian/dchroot/usr/share/doc/dchroot
	ln -sf schroot $(CURDIR)/debian/dchroot/usr/share/doc/dchroot
	rm -rf $(CURDIR)/debian/dchroot-dsa/usr/share/doc/dchroot-dsa
	ln -sf schroot $(CURDIR)/debian/dchroot-dsa/usr/share/doc/dchroot-dsa
	dh_installexamples -a
	dh_installman -a
	dh_installinit -a --no-start --update-rcd-params='start 75 S .'
	dh_link -a
	dh_strip -a --dbg-package=schroot-dbg
	dh_compress -a
	dh_fixperms -a
	chmod 4755 $(CURDIR)/debian/dchroot/usr/bin/dchroot
	chmod 4755 $(CURDIR)/debian/dchroot-dsa/usr/bin/dchroot-dsa
	chmod 4755 $(CURDIR)/debian/schroot/usr/bin/schroot
	dh_makeshlibs -a
	dh_installdeb -a
	dh_shlibdeps -a -L libsbuild1 -l$(CURDIR)/debian/libsbuild1/usr/lib
	dh_gencontrol -a
	dh_md5sums -a
	dh_builddeb -a

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