#!/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)
export DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH)

# Thanks hardening-* gurus and Kees Cook!
include /usr/share/hardening-includes/hardening.make
CFLAGS += $(HARDENING_CFLAGS)
LDFLAGS += $(HARDENING_LDFLAGS)
DEB_BUILD_HARDENING_PIE:=0

ifndef DEB_HOST_ARCH
DEB_BUILD_ARCH := $(shell dpkg --print-architecture)
endif
export arch = $(DEB_HOST_ARCH)

config.status: configure
	dh_testdir
	# Add here commands to configure the package.
ifneq "$(wildcard /usr/share/misc/config.sub)" ""
	cp -f /usr/share/misc/config.sub config.sub
endif
ifneq "$(wildcard /usr/share/misc/config.guess)" ""
	cp -f /usr/share/misc/config.guess config.guess
endif
	./configure --enable-sasl --host=$(DEB_HOST_GNU_TYPE) \
		 --build=$(DEB_BUILD_GNU_TYPE) --prefix=/usr \
		--mandir=\$${prefix}/share/man --infodir=\$${prefix}/share/info \
		--libexecdir=\$${prefix}/lib/mailavenger \
		--docdir=\$${prefix}/share/doc/mailavenger \
		--datadir=\$${prefix}/share/doc/mailavenger \
		--htmldir=\$${prefix}/share/doc/mailavenger \
		CFLAGS="$(CFLAGS)" \
		LDFLAGS="$(LDFLAGS)"

build: build-stamp

build-stamp:  config.status
	dh_testdir
	
	# Add here commands to compile the package.
	$(MAKE)
	
	touch $@

clean:
	dh_testdir
	dh_testroot
	rm -f build-stamp 
	[ ! -f Makefile ] || $(MAKE) distclean
	rm -f config.sub config.guess config.log
	
	dh_clean

install: build
	dh_testdir
	dh_testroot
	dh_clean -k 
	dh_installdirs etc/avenger
	
	# Add here commands to install the package into debian/mailavenger.
	$(MAKE) DESTDIR=$(CURDIR)/debian/mailavenger install		
	
	# Ok, now place some basic configuration, but remember, 
	#  some very basic stuff is needed, that's why we don't start by default
	dh_install debian/mailavenger/usr/share/doc/mailavenger/avenger/asmtpd.conf etc/avenger
	dh_install debian/mailavenger/usr/share/doc/mailavenger/avenger/unknown etc/avenger
	
	# See #624234
	mv $(CURDIR)/debian/mailavenger/usr/bin/deliver $(CURDIR)/debian/mailavenger/usr/bin/avenger.deliver
	mv $(CURDIR)/debian/mailavenger/usr/share/man/man1/deliver.1 $(CURDIR)/debian/mailavenger/usr/share/man/man1/avenger.deliver.1
	
	# Lintian suggestion (Is something this guys can't do? ;) )
	sed -i 's/writeable/writable/' $(CURDIR)/debian/mailavenger/usr/share/man/man1/avenger.deliver.1
	
	# Duplicated doc pages
	rm $(CURDIR)/debian/mailavenger/usr/share/doc/mailavenger/avenger/INSTALL.html
		
	# don't really need MAC stuff in our free world =)
	rm $(CURDIR)/debian/mailavenger/usr/bin/sendmac
	rm $(CURDIR)/debian/mailavenger/usr/bin/macutil
	rm $(CURDIR)/debian/mailavenger/usr/share/man/man1/macutil.1
	

# 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_installinit
	dh_installchangelogs NEWS
	dh_installdocs README
	dh_installman
	dh_lintian
	dh_link
	dh_strip
	dh_compress -X usr/share/doc/mailavenger/pf.os
	dh_fixperms
	dh_installdeb
	dh_shlibdeps
	dh_gencontrol
	dh_md5sums
	dh_builddeb

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