#!/usr/bin/make -f

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

DPKG_EXPORT_BUILDFLAGS = 1
include /usr/share/dpkg/default.mk

VERSION  := $(shell dpkg-parsechangelog | sed -ne 's,^Version: *\(.*\),\1,p')

configure:
	autoreconf -i
	@exit 1

CONFIGURE = ../configure \
		--host=$(DEB_HOST_GNU_TYPE) \
		--build=$(DEB_BUILD_GNU_TYPE) \
		--prefix=/usr \
		--mandir=\$${prefix}/share/man \
		--infodir=\$${prefix}/share/info \
		--with-dpkg-arch=$(DEB_HOST_ARCH)

build-deb/config.status: export CFLAGS += -Wall -W -Werror -ggdb
build-static/config.status build-tar/config.status: export CFLAGS += -Wall -W -Werror

build-deb/config.status: configure
	dh_testdir
	-mkdir build-deb
	cd build-deb && \
	$(CONFIGURE) \
		--with-frontend=standalone

build-static/config.status: configure
	dh_testdir
	-mkdir build-static
	cd build-static && \
	$(CONFIGURE) \
		--enable-static \
		--with-configdir=\$${datadir}/cdebootstrap-static \
		--with-frontend=standalone

build-tar/config.status: configure
	dh_testdir
	-mkdir build-tar
	cd build-tar && \
	$(CONFIGURE) \
		--enable-static \
		--with-configdir=BINARY/cdebootstrap-support \
		--with-frontend=standalone

build build-arch build-indep: build-deb build-static build-tar

.NOTPARALLEL: build-deb-stamp build-static-stamp build-tar-stamp

build-deb: build-deb-stamp
build-deb-stamp: build-deb/config.status
	dh_testdir
	$(MAKE) -C build-deb
	touch $@

build-static: build-static-stamp
build-static-stamp: build-static/config.status
	dh_testdir
	$(MAKE) -C build-static
	touch $@

build-tar: build-tar-stamp
build-tar-stamp: build-tar/config.status
	dh_testdir
	$(MAKE) -C build-tar
	touch $@

clean:
	dh_testdir
	rm -f *-stamp 

	-rm -rf build-*

	cp -f /usr/share/misc/config.sub config.sub
	cp -f /usr/share/misc/config.guess config.guess

	dh_clean

install: build
	dh_testdir
	dh_testroot
	dh_prep
	dh_installdirs

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

	$(MAKE) -C build-static install DESTDIR=$(CURDIR)/debian/cdebootstrap-static
	mv debian/cdebootstrap-static/usr/bin/cdebootstrap debian/cdebootstrap-static/usr/bin/cdebootstrap-static
	mv debian/cdebootstrap-static/usr/share/man/man1/cdebootstrap.1 debian/cdebootstrap-static/usr/share/man/man1/cdebootstrap-static.1

	$(MAKE) -C build-tar install DESTDIR=$(CURDIR)/debian/tmp
	strip --remove-section=.comment --remove-section=.note debian/tmp/usr/bin/cdebootstrap
	tar -C debian/tmp/usr/bin -czf debian/tmp/cdebootstrap_$(VERSION)_$(DEB_HOST_ARCH).tar.gz .
	mkdir -p debian/cdebootstrap-static/usr/lib/cdebootstrap
	cp debian/tmp/cdebootstrap_$(VERSION)_$(DEB_HOST_ARCH).tar.gz debian/cdebootstrap-static/usr/lib/cdebootstrap

	( echo -n "misc:Built-Using="; dpkg-query -f='$${source:Package} (= $${source:Version}), ' -W libc6-dev libdebian-installer4-dev libdebconfclient0-dev libbz2-dev liblzma-dev zlib1g-dev; echo ) >> debian/cdebootstrap-static.substvars

# Build architecture-independent files here.
binary-indep: build install
# We have nothing to do by default.

# Build architecture-dependent files here.
binary-arch: build install
	dh_testdir
	dh_testroot
	dh_installchangelogs
	dh_installdocs
	dh_installexamples
#	dh_install
#	dh_installmenu
	dh_installdebconf
#	dh_installlogrotate
#	dh_installemacsen
#	dh_installpam
#	dh_installmime
#	dh_installinit
#	dh_installcron
#	dh_installinfo
#	dh_installman
	dh_lintian
	dh_link
	dh_strip
	dh_compress
	dh_fixperms
#	dh_perl
#	dh_python
#	dh_makeshlibs
	dh_installdeb
	dh_shlibdeps
	dh_gencontrol
	dh_md5sums
	dh_builddeb

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