#!/usr/bin/make -f
# debian/rules file - for dnsmasq.
# Copyright 2001-2011 by Simon Kelley
# Based on the sample in the debian hello package which carries the following:
# Copyright 1994,1995 by Ian Jackson.
# I hereby give you perpetual unlimited permission to copy,
# modify and relicense this file, provided that you do not remove
# my name from the file itself.  (I assert my moral right of
# paternity under the Copyright, Designs and Patents Act 1988.)
# This file may have to be extensively modified

package=dnsmasq-base

dpkg_buildflags := DEB_BUILD_MAINT_OPTIONS="hardening=+all" dpkg-buildflags

CFLAGS = $(shell $(dpkg_buildflags) --get CFLAGS)
CFLAGS += $(shell $(dpkg_buildflags) --get CPPFLAGS)
CFLAGS += -Wall -W

LDFLAGS = $(shell $(dpkg_buildflags) --get LDFLAGS)

DEB_COPTS = $(COPTS)

TARGET = install-i18n

DEB_HOST_ARCH_OS := $(shell dpkg-architecture -qDEB_HOST_ARCH_OS)
DEB_HOST_GNU_TYPE := $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
DEB_BUILD_GNU_TYPE := $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
BUILD_DATE := $(shell dpkg-parsechangelog --show-field Date)

ifeq ($(origin CC),default)
     CC = $(DEB_HOST_GNU_TYPE)-gcc
endif

# Support non-cross-builds on systems without gnu-triplet-binaries for pkg-config.
ifeq ($(DEB_BUILD_GNU_TYPE),$(DEB_HOST_GNU_TYPE))
     PKG_CONFIG=pkg-config
else
     PKG_CONFIG=$(DEB_HOST_GNU_TYPE)-pkg-config	
endif

# Force package version based on git tags.
ifneq (,$(filter gitversion,$(DEB_BUILD_OPTIONS)))
     PACKAGE_VERSION = $(shell bld/get-version `pwd` |  sed 's/test/~&/; s/[a-z]/~&/;  s/-/./g; s/$$/-1/; s/^/-v/';)
endif

ifeq (,$(filter nodbus,$(DEB_BUILD_OPTIONS)))
     DEB_COPTS += -DHAVE_DBUS
endif

ifeq (,$(filter noconntrack,$(DEB_BUILD_OPTIONS)))
ifeq ($(DEB_HOST_ARCH_OS),linux)
     DEB_COPTS += -DHAVE_CONNTRACK
endif
endif

ifneq (,$(filter noipset,$(DEB_BUILD_OPTIONS)))
     DEB_COPTS += -DNO_IPSET
endif

ifneq (,$(filter nodhcp6,$(DEB_BUILD_OPTIONS)))
     DEB_COPTS += -DNO_DHCP6
endif

ifneq (,$(filter noipv6,$(DEB_BUILD_OPTIONS)))
     DEB_COPTS += -DNO_IPV6
endif

ifneq (,$(filter notftp,$(DEB_BUILD_OPTIONS)))
     DEB_COPTS += -DNO_TFTP
endif

ifneq (,$(filter nodhcp,$(DEB_BUILD_OPTIONS)))
     DEB_COPTS += -DNO_DHCP
endif

ifneq (,$(filter noscript,$(DEB_BUILD_OPTIONS)))
     DEB_COPTS += -DNO_SCRIPT
endif

ifneq (,$(filter nortc,$(DEB_BUILD_OPTIONS)))
     DEB_COPTS += -DHAVE_BROKEN_RTC
endif

ifneq (,$(filter noi18n,$(DEB_BUILD_OPTIONS)))
     TARGET = install
     ifeq (,$(filter noidn, $(DEB_BUILD_OPTIONS)))
	DEB_COPTS += -DHAVE_IDN
     endif	
endif

ifneq (,$(filter uselua,$(DEB_BUILD_OPTIONS)))
     DEB_COPTS += -DHAVE_LUASCRIPT
endif

ifeq (,$(filter nodnssec,$(DEB_BUILD_OPTIONS)))
     DEB_COPTS += -DHAVE_DNSSEC
endif

ifneq ($(DEB_HOST_ARCH_OS),linux)
     # For strlcpy in FreeBSD
     LDFLAGS += -lbsd
endif

clean:
	$(checkdir)
	rm -rf debian/daemon debian/base debian/utils debian/*~ debian/files debian/substvars debian/utils-substvars
	make clean
	make -C contrib/lease-tools clean

binary-indep:	checkroot
	$(checkdir)
	rm -rf debian/daemon
	install -m 755 \
	        -d debian/daemon/DEBIAN \
		-d debian/daemon/usr/share/doc \
	        -d debian/daemon/etc/init.d \
		-d debian/daemon/etc/dnsmasq.d \
	        -d debian/daemon/etc/resolvconf/update.d \
		-d debian/daemon/usr/lib/resolvconf/dpkg-event.d \
		-d debian/daemon/usr/share/dnsmasq \
	        -d debian/daemon/etc/default \
		-d debian/daemon/lib/systemd/system \
                -d debian/daemon/etc/insserv.conf.d
	install -m 644 debian/conffiles debian/daemon/DEBIAN
	install -m 755 debian/postinst debian/postrm debian/prerm debian/daemon/DEBIAN
	install -m 755 debian/init debian/daemon/etc/init.d/dnsmasq
	install -m 755 debian/resolvconf debian/daemon/etc/resolvconf/update.d/dnsmasq
	install -m 755 debian/resolvconf-package debian/daemon/usr/lib/resolvconf/dpkg-event.d/dnsmasq
	install -m 644 debian/installed-marker debian/daemon/usr/share/dnsmasq
	install -m 644 debian/default debian/daemon/etc/default/dnsmasq
	install -m 644 dnsmasq.conf.example debian/daemon/etc/dnsmasq.conf
	install -m 644 debian/readme.dnsmasq.d debian/daemon/etc/dnsmasq.d/README
	install -m 644 debian/systemd.service debian/daemon/lib/systemd/system/dnsmasq.service
	install -m 644 debian/insserv debian/daemon/etc/insserv.conf.d/dnsmasq
	ln -s $(package) debian/daemon/usr/share/doc/dnsmasq
	cd debian/daemon && find . -type f ! -regex '.*DEBIAN/.*' -printf '%P\0' | LC_ALL=C sort -z | xargs -r0 md5sum > DEBIAN/md5sums	
	dpkg-gencontrol $(PACKAGE_VERSION) -T -pdnsmasq -Pdebian/daemon
	find debian/daemon -depth -newermt '$(BUILD_DATE)' -print0 | xargs -0r touch --no-dereference --date='$(BUILD_DATE)'
	chown -R root.root debian/daemon
	chmod -R g-ws debian/daemon
	dpkg --build debian/daemon ..

binary-arch:	checkroot 
	$(checkdir)
	rm -rf debian/base
	install -m 755 \
		-d debian/base/DEBIAN \
		-d debian/base/etc/dbus-1/system.d \
	        -d debian/base/usr/share/doc/$(package) \
		-d debian/base/usr/share/doc/$(package)/examples \
		-d debian/base/usr/share/$(package) \
	        -d debian/base/var/lib/misc
	make $(TARGET) PREFIX=/usr DESTDIR=`pwd`/debian/base CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" COPTS="$(DEB_COPTS)" CC=$(CC) PKG_CONFIG=$(PKG_CONFIG)
ifeq (,$(findstring nodocs,$(DEB_BUILD_OPTIONS)))
# Need to remove paypal links in Debian Package for policy reasons.
	sed -e /\<H2\>Donations/Q -e /icon.png/d doc.html -e /favicon.ico/d >debian/base/usr/share/doc/$(package)/doc.html
	echo "</BODY>" >>debian/base/usr/share/doc/$(package)/doc.html 
	install -m 644 setup.html debian/base/usr/share/doc/$(package)/.
	install -m 644 dnsmasq.conf.example debian/base/usr/share/doc/$(package)/examples/.
	install -m 644 trust-anchors.conf debian/base/usr/share/$(package)/.
	install -m 644 FAQ debian/base/usr/share/doc/$(package)/.
	gzip -9n debian/base/usr/share/doc/$(package)/FAQ
	install -m 644 CHANGELOG debian/base/usr/share/doc/$(package)/changelog
	gzip -9n debian/base/usr/share/doc/$(package)/changelog
	install -m 644 CHANGELOG.archive debian/base/usr/share/doc/$(package)/changelog.archive
	gzip -9n debian/base/usr/share/doc/$(package)/changelog.archive
	install -m 644 dbus/DBus-interface debian/base/usr/share/doc/$(package)/.
	gzip -9n debian/base/usr/share/doc/$(package)/DBus-interface	
endif
	install -m 644 debian/dnsmasq-base.conffiles debian/base/DEBIAN/conffiles
	install -m 755 debian/dnsmasq-base.postinst debian/base/DEBIAN/postinst
	install -m 755 debian/dnsmasq-base.postrm  debian/base/DEBIAN/postrm
	install -m 644 debian/changelog debian/base/usr/share/doc/$(package)/changelog.Debian
	gzip -9n debian/base/usr/share/doc/$(package)/changelog.Debian
	install -m 644 debian/readme debian/base/usr/share/doc/$(package)/README.Debian
	install -m 644 debian/copyright debian/base/usr/share/doc/$(package)/copyright
	install -m 644 debian/dbus.conf debian/base/etc/dbus-1/system.d/dnsmasq.conf
	gzip -9n debian/base/usr/share/man/man8/dnsmasq.8
	for f in debian/base/usr/share/man/*; do \
		if [ -f $$f/man8/dnsmasq.8 ]; then \
                       gzip -9n $$f/man8/dnsmasq.8 ; \
                fi \
	done
ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS)))
	$(DEB_HOST_GNU_TYPE)-strip -R .note -R .comment debian/base/usr/sbin/dnsmasq
endif
	cd debian/base && find . -type f ! -regex '.*DEBIAN/.*' -printf '%P\0' | LC_ALL=C sort -z | xargs -r0 md5sum > DEBIAN/md5sums
	dpkg-shlibdeps --warnings=1 debian/base/usr/sbin/dnsmasq
	dpkg-gencontrol $(PACKAGE_VERSION) -pdnsmasq-base -Pdebian/base
	find debian/base -depth -newermt '$(BUILD_DATE)' -print0 | xargs -0r touch --no-dereference --date='$(BUILD_DATE)'
	chown -R root.root debian/base
	chmod -R g-ws debian/base 
	dpkg --build debian/base ..

ifeq ($(DEB_HOST_ARCH_OS),linux)
	rm -rf debian/utils
	install -m 755 -d debian/utils/DEBIAN \
                       -d debian/utils/usr/share/man/man1 \
	               -d debian/utils/usr/bin \
                       -d debian/utils/usr/share/doc/dnsmasq-utils
	make -C contrib/lease-tools PREFIX=/usr DESTDIR=`pwd`/debian/utils CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" COPTS="$(DEB_COPTS)" CC=$(CC) PKG_CONFIG=$(PKG_CONFIG)
	install -m 755 contrib/lease-tools/dhcp_release debian/utils/usr/bin/dhcp_release
	install -m 644 contrib/lease-tools/dhcp_release.1 debian/utils/usr/share/man/man1/dhcp_release.1
	gzip -9n debian/utils/usr/share/man/man1/dhcp_release.1
	install -m 755 contrib/lease-tools/dhcp_release6 debian/utils/usr/bin/dhcp_release6
	install -m 644 contrib/lease-tools/dhcp_release6.1 debian/utils/usr/share/man/man1/dhcp_release6.1
	gzip -9n debian/utils/usr/share/man/man1/dhcp_release6.1
	install -m 755 contrib/lease-tools/dhcp_lease_time debian/utils/usr/bin/dhcp_lease_time		
	install -m 644 contrib/lease-tools/dhcp_lease_time.1 debian/utils/usr/share/man/man1/dhcp_lease_time.1
	install -m 644 debian/copyright debian/utils/usr/share/doc/dnsmasq-utils/copyright
	install -m 644 debian/changelog debian/utils/usr/share/doc/dnsmasq-utils/changelog.Debian
	gzip -9n debian/utils/usr/share/doc/dnsmasq-utils/changelog.Debian
	gzip -9n debian/utils/usr/share/man/man1/dhcp_lease_time.1
ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS)))
	$(DEB_HOST_GNU_TYPE)-strip -R .note -R .comment debian/utils/usr/bin/dhcp_release
	$(DEB_HOST_GNU_TYPE)-strip -R .note -R .comment debian/utils/usr/bin/dhcp_lease_time
endif	
	cd debian/utils && find . -type f ! -regex '.*DEBIAN/.*' -printf '%P\0' | LC_ALL=C sort -z | xargs -r0 md5sum > DEBIAN/md5sums
	dpkg-shlibdeps -Tdebian/utils-substvars debian/utils/usr/bin/dhcp_release debian/utils/usr/bin/dhcp_lease_time
	dpkg-gencontrol $(PACKAGE_VERSION) -Tdebian/utils-substvars -pdnsmasq-utils -Pdebian/utils
	find debian/utils -depth -newermt '$(BUILD_DATE)' -print0 | xargs -0r touch --no-dereference --date='$(BUILD_DATE)'
	chown -R root.root debian/utils
	chmod -R g-ws debian/utils 
	dpkg --build debian/utils ..
endif

define checkdir
	test -f Makefile -a -f debian/rules
endef

# Below here is fairly generic really

binary:		binary-arch binary-indep

build:		
build-arch:
build-indep:

checkroot:
	test root = "`whoami`"

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


