#!/usr/bin/make -f

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

# This is the debhelper compatibility version to use.
# export DH_COMPAT=4
DPKG_EXPORT_BUILDFLAGS = 1
include /usr/share/dpkg/buildflags.mk
#

prefix=/usr
sysconfdir=/etc/indimail
libexecdir=/usr/libexec/indimail
shareddir=/usr/share/indimail
mandir=/usr/share/man
arch=$(shell uname -m)
# check https://wiki.debian.org/Multiarch/Implementation#Dynamic_debian.2F.2A_files
libd=$(shell if [ -d $(prefix)/lib/$(arch)-linux-gnu ] ; then echo lib/$(arch)-linux-gnu; else echo lib;fi)
courier_version=5.2.7
fetchmail_version=6.5.0.beta9
version=1.3
release=1.1
rm=/bin/rm
cp=/bin/cp

DESTDIR=$(CURDIR)/debian/tmp


build: build-stamp
build-stamp:
	dh_testdir
	#
	# Extract source archives
	#
	if [ -f ../BUILD/debian/obs_deb_prep ] ; then sh ../BUILD/debian/obs_deb_prep; fi
	#
	# run configure script
	#
	if [ -d courier-imap-$(courier_version) ] ; then \
		cd courier-imap-$(courier_version); \
		autoreconf -fiv; \
		./configure $(shell dpkg-buildflags --export=cmdline) \
			--prefix=${prefix} --libexecdir=${libexecdir} --bindir=${prefix}/bin \
			--mandir=${mandir} --sysconfdir=${sysconfdir} --libdir=${prefix}/${libd} \
			--datarootdir=${shareddir} --with-certsdir=${sysconfdir}/certs \
			--with-mailer=${prefix}/bin/sendmail --disable-root-check \
			--without-userdb --without-authcustom --without-authchangepwdir \
			--without-authgeneric --with-authshadow --with-authpwd \
			--enable-syslog=1; \
		if [ ! -f depcomp -a -f libs/unicode/depcomp ] ; then \
			cp libs/unicode/depcomp .; \
		elif [ -f depcomp -a ! -f libs/unicode/depcomp ] ; then \
			cp ./depcomp libs/unicode/depcomp; \
		fi; \
		cd ..; \
	fi
	if [ -d fetchmail-$(fetchmail_version) ] ; then \
		cd fetchmail-$(fetchmail_version); \
		autoreconf -fiv; \
		./configure $(shell dpkg-buildflags --export=cmdline) \
			--prefix=${prefix} --libexecdir=${libexecdir} --sysconfdir=${sysconfdir} \
			--datarootdir=${shareddir} --mandir=${mandir} \
			--enable-indimail --with-ssl; \
		cd ..; \
	fi
	#
	# run make
	#
	if [ -d courier-imap-$(courier_version) ] ; then $(MAKE) -s -C courier-imap-$(courier_version) DESTDIR=$(DESTDIR); fi
	if [ -d fetchmail-$(fetchmail_version) ]  ; then $(MAKE) -s -C fetchmail-$(fetchmail_version) DESTDIR=$(DESTDIR); fi
	${rm} -f  $(DESTDIR)$(prefix)/$(libd)/*.la
	${rm} -f  $(DESTDIR)${prefix}/$(libd)/libcourier-unicode.a
	${rm} -f  $(DESTDIR)${prefix}/$(libd)/libcourier-unicode.so
	${rm} -rf $(DESTDIR)${shareddir}/aclocal
	${rm} -rf $(DESTDIR)${prefix}/include
	${rm} -rf $(DESTDIR)${mandir}/man3
	( \
	echo NAME=indimail-access; \
	echo Description=\"IndiMail Authentication Package\"; \
	echo ACCESS_version=$(version)-$(release); \
	echo ID=indimail-access; \
	echo HOME_URL="https://github.com/mbhangui/indimail-virtualdomains"; \
	echo PACKAGE_BUGREPORT=\"'Manvendra Bhangui <indimail-access@indimail.org>'\"; \
	) > indimail-access-release
	if [ -f postinst -a -d /usr/src/packages/SOURCES.DEB ] ; then echo setting "build_on_obs=1"; sed -i 's{build_on_obs=.*{build_on_obs=1{' postinst; fi
	touch build-stamp

install: build
	dh_testdir
	dh_testroot
	dh_prep || dh_clean -k
	dh_installdirs
	if [ -d courier-imap-$(courier_version) ] ; then $(MAKE) -s install -C courier-imap-$(courier_version) DESTDIR=$(DESTDIR); fi
	if [ -d fetchmail-$(fetchmail_version) ]  ; then $(MAKE) -s install -C fetchmail-$(fetchmail_version) DESTDIR=$(DESTDIR); fi
	mkdir -p $(DESTDIR)$(sysconfdir)
	if [ -f perm_list.imap ] ; then \
		install -m 0644 perm_list.imap "$(DESTDIR)$(sysconfdir)"/perm_list.imap; \
	fi
	install -m 0644 indimail-access-release "$(DESTDIR)$(sysconfdir)"/indimail-access-release
	/bin/rm -f indimail-access-release

clean:
	if [ -d courier-imap-$(courier_version) ] ; then $(MAKE) -s clean -C courier-imap-$(courier_version) DESTDIR=$(DESTDIR) || true; fi
	if [ -d fetchmail-$(fetchmail_version) ]  ; then $(MAKE) -s clean -C fetchmail-$(fetchmail_version) DESTDIR=$(DESTDIR) || true; fi
	if [ -d courier-imap-$(courier_version) ] ; then $(MAKE) -s distclean -C courier-imap-$(courier_version) DESTDIR=$(DESTDIR) || true; fi
	if [ -d fetchmail-$(fetchmail_version) ]  ; then $(MAKE) -s distclean -C fetchmail-$(fetchmail_version) DESTDIR=$(DESTDIR) || true; fi
	${rm} -f build-stamp configure-stamp
	${rm} -rf $(DESTDIR)
	dh_testdir
	dh_testroot
	dh_clean
	dh_auto_clean

binary-indep: build install
	dh_testdir
	dh_testroot
	find $(DESTDIR)$(mandir) -name '*'.? -type f -exec gzip -q {} \;
	sed -i -e 's,@libd\@,$(libd),g' debian/indimail-access.install
	# do chmod because debian is a fckued packaging system
	chmod 755 $(DESTDIR)${libexecdir}/imapmodules/authshadow $(DESTDIR)${libexecdir}/imapmodules/authpam
	dh_install --sourcedir=$(DESTDIR) -pindimail-access
	dh_installchangelogs
	dh_installcron
	dh_installdocs
	dh_link
	dh_strip
	dh_compress
	dh_fixperms
	dh_installdeb
	dh_makeshlibs -V
	dh_shlibdeps
	dh_gencontrol
	dh_installcron
	dh_md5sums
	dh_builddeb

# Build architecture-dependent files here. 
binary-arch: build install

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