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

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

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

# These are used for cross-compiling and for saving the configure script
# from having to guess our platform (since we know it already)
include /usr/share/dpkg/architecture.mk
ifneq ($(DEB_HOST_GNU_TYPE),$(DEB_BUILD_GNU_TYPE))
CROSS= --build $(DEB_BUILD_GNU_TYPE) --host $(DEB_HOST_GNU_TYPE)
else
CROSS= --build $(DEB_BUILD_GNU_TYPE)
endif

version := $(shell dpkg-parsechangelog | sed -ne 's/^Version: \(.*\)-[^-]*$$/\1/p')
buildroot := $(CURDIR)/debian/build
flavours := standard udeb

common-config-flags := $(CROSS) --prefix=/usr --exec-prefix=/ '--libdir=$${exec_prefix}/lib/$(DEB_HOST_MULTIARCH)'

methods: methods-stamp
methods-stamp:
	dh_testdir
	mkdir -p ${buildroot}
	cp -f /usr/share/misc/config.sub 1.0.0.rc16/autoconf/config.sub
	cp -f /usr/share/misc/config.guess 1.0.0.rc16/autoconf/config.guess
	for i in ${flavours}; do cp -rp ${version} ${buildroot}/$$i; done
	touch $@

configure-standard: methods configure-standard-stamp
configure-standard-stamp:
	dh_testdir
	cd ${buildroot}/standard && \
	./configure ${common-config-flags} --disable-klibc --enable-libselinux --enable-libsepol --enable-shared_lib --enable-led --enable-intel_led
	touch $@

configure-udeb: methods configure-udeb-stamp
configure-udeb-stamp:
	dh_testdir
	cd ${buildroot}/udeb && \
	./configure ${common-config-flags} --disable-libselinux --disable-libsepol --enable-shared_lib
	touch $@

configure: methods configure-stamp
configure-stamp: $(addprefix configure-, $(flavours))
	dh_testdir
	touch $@

build-arch: build
build-indep: build

build: $(QUILT_STAMPFN) configure build-stamp
build-stamp:
	dh_testdir
	for i in ${flavours}; do cd ${buildroot}/$$i && make; done
	touch $@

install: build
	dh_testdir
	dh_testroot
	dh_prep
	cd ${buildroot}/standard && make DESTDIR=$(CURDIR)/debian/standard install
	cd ${buildroot}/udeb && make DESTDIR=$(CURDIR)/debian/udeb install
	rm -rf debian/udeb/usr
	dh_link

binary-arch: install
	dh_testdir
	dh_testroot
	dh_install
	dh_installdirs
	dh_installudev --priority=97
	dh_installdocs ${version}/CREDITS ${version}/KNOWN_BUGS ${version}/README ${version}/TODO
	dh_installchangelogs ${version}/CHANGELOG
	install -m0755 debian/dmraid.bug debian/dmraid/usr/share/bug/dmraid/script
	chmod 755 debian/dmraid/usr/share/initramfs-tools/hooks/dmraid
	chmod 755 debian/dmraid/usr/share/initramfs-tools/scripts/local-top/dmraid
	chmod 755 debian/dmraid/sbin/dmraid-activate
	dh_strip -a
	dh_compress -a
	dh_fixperms -a
	dh_makeshlibs -a --add-udeb 'libdmraid1.0.0.rc16-udeb' -V
	dh_shlibdeps -a
	dh_installdeb -a
	dh_gencontrol -a
	dh_md5sums -a
	dh_builddeb -a

binary-indep: install
	# nothing to do

binary: binary-arch binary-indep

clean:
	dh_testdir
	dh_testroot
	dh_clean
	$(RM) *-stamp
	$(RM) -r debian/build debian/standard debian/udeb
	$(RM) 1.0.0.rc16/autoconf/config.guess
	$(RM) 1.0.0.rc16/autoconf/config.sub

.PHONY: clean binary binary-indep binary-arch install build configure methods $(addprefix configure-, $(flavours))
