#!/usr/bin/make -f
# -*- makefile -*- 
# Debianrules for building a Debian package
# Version 1.5
#
# modified for Postfix by LaMont Jones <lamont@debian.org>

export DH_COMPAT=2

package=postfix-tls
base=debian/$(package)
docdir=${base}/usr/share/doc/$(package)
sharedir=${base}/usr/share/postfix-tls
libdir=${base}/usr/lib
plibdir=usr/lib/postfix
sbindir=${base}/usr/sbin
bindir=${base}/usr/bin
confdir=${base}/etc/postfix

OFLAGS = -O2
SHELL=/bin/bash

ifneq (,$(findstring debug,$(DEB_BUILD_OPTIONS)))
DEBUG = -g
endif

ifneq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS)))
STRIP=y
endif

CCARGS="-I/usr/include/postfix -I/usr/include/openssl -DHAS_SSL \
	 -DUSE_SASL_AUTH -DMAX_DYNAMIC_MAPS -DHAS_PCRE -DHAS_LDAP \
	 -DHAS_MYSQL -I/usr/include/mysql"

AUXLIBS=-lssl -lcrypto -lsasl

DOCFILES=README README.Debian TODO ACKNOWLEDGEMENTS

.PHONY: install install-doc binary binary-arch binary-indep clean
.PHONY: checkroot

build:
	$(checkdir)
	ln -sf /usr/lib/libdb3.so debian/libdb.so
	for i in include lib libexec bin; do [ -d $$i ] || mkdir $$i; done
	${MAKE} makefiles CCARGS=${CCARGS} DEBUG=${DEBUG} \
		AUXLIBS="${AUXLIBS} -L$$(pwd)/debian" OPT="$(OFLAGS)"
	${MAKE} LD_LIBRARY_PATH=$$(pwd)/lib:$${LD_LIBRARY_PATH}
	touch build


install-doc: build
##	dh_clean -k
##	dh_installdirs -i

install: build
	dh_clean -k
	dh_installdirs -a
	install -m 0444 doc/[a-z]* $(docdir)/html
	install -m 0444 conf/sample* $(docdir)/examples
	install -m 0444 CHANGES $(docdir)/changelog
	for file in ${DOCFILES}; do					\
		install -m 0444 $${file} $(docdir)/$${file##*/};	\
	done

	install lib/dict_sdbm.so ${base}/${plibdir}
	install libexec/lmtp ${base}/$(plibdir)/lmtp
	install libexec/smtp ${base}/$(plibdir)/smtp
	install libexec/smtpd ${base}/$(plibdir)/smtpd
	install libexec/tlsmgr ${base}/$(plibdir)/tlsmgr
	#install bin/[a-z]* $(sbindir)
	#[ -n "$(STRIP)" ] || strip --strip-debug ${base}/usr/{bin,sbin,lib/postfix}/*
	[ -n "$(STRIP)" ] || strip --strip-debug ${base}/usr/lib/postfix/*

	install man/man8/*.8 ${base}/usr/share/man/man8
	install -m 0444 debian/lintian-override ${base}/usr/share/lintian/overrides/${package}

binary-indep: checkroot install-doc
##	dh_installdocs -i
##	dh_installexamples -i
##	dh_installmenu -i
##	dh_installcron -i
##	dh_installchangelogs -i
##	dh_installdebconf -i
##	dh_compress -i
##	dh_fixperms -i
##	dh_installdeb -i
##	dh_gencontrol -i
##	dh_makeshlibs -i
##	dh_md5sums -i
##	dh_builddeb -i

binary-arch: checkroot build install

	dh_installdocs -a
##	dh_installexamples -a
##	dh_installmenu -a
##	dh_installcron -a
	dh_installchangelogs -a
	dh_installdebconf -a
##	dh_movefiles -a
	[ -n "$(STRIP)" ] || dh_strip -a
	dh_compress -a
	dh_fixperms -a
	dh_installdeb -a
	dh_shlibdeps -a
	# assumes a non-native package
	dh_gencontrol -a -u-VPF-version=$$(dpkg --status postfix-dev | sed -n '/^Version:/s/^.*: \(.*\)-.*/\1/p')
##	dh_makeshlibs -a
	dh_md5sums -a
	dh_builddeb -a


clean:
	$(checkdir)
	dh_clean build
	test ! -d ${base} || rm -rf ${base}
	$(MAKE) -f Makefile.init tidy
	rm -rf $$(find debian/* -type d ! -name CVS)
	rm -rf debian/{files*,*substvars*,*.debhelper}
	find .. -name $(package)*.asc -size 0 -maxdepth 1 -exec rm {} ";"
	chmod +x debian/{pre*,post*}
	rm -f debian/libdb.so


buildinfo:
	@echo; dpkg -l gcc "libc6*" binutils ldso make dpkg-dev $(BUILDINFO) \
		| awk '$$1 == "ii" { printf("%s-%s\n", $$2, $$3) }' \
		| tee $(docdir)/buildinfo.Debian; echo
	chmod 644 $(docdir)/buildinfo.Debian		

define checkdir
	test -f debian/rules
endef

# Below here is fairly generic really

binary: binary-arch binary-indep

co:
	rm -rf src/smtp src/smtpd src/lmtp
	mkdir -p src/smtp src/smtpd src/lmtp
	if [ $(package) = "postfix-tls" ]; then				\
		cvs export -rofficial -d src/smtpd postfix/src/smtpd;	\
		cvs export -rofficial -d src/smtp postfix/src/smtp;	\
		cvs export -rofficial -d src/lmtp postfix/src/lmtp;	\
	else								\
		cvs export -d src/smtpd postfix/src/smtpd;		\
		cvs export -d src/smtp postfix/src/smtp;		\
		cvs export -d src/lmtp postfix/src/lmtp;		\
	fi;								\
	for i in debian/patches.co/[0-9]*; do				\
		patch -p0 < $$i;					\
	done

cvs-clean: clean
	rm -rf src/smtp src/smtpd src/lmtp

checkroot:
	$(checkdir)
	test "`id -u`" -eq 0
