#!/usr/bin/make -f

include /usr/share/dpatch/dpatch.make

# 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)

CFLAGS = -Wall -g

ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
	CFLAGS += -O0
else
	CFLAGS += -O2
endif

config.status: patch configure-stamp
configure-stamp:
	dh_testdir
	[ ! -f libdaemon.spec ] || mv -f libdaemon.spec libdaemon.spec.ups
ifneq "$(wildcard /usr/share/misc/config.sub)" ""
	[ ! -f config.sub ] || mv -f config.sub config.sub.ups
	cp -f /usr/share/misc/config.sub config.sub
endif
ifneq "$(wildcard /usr/share/misc/config.guess)" ""
	[ ! -f config.guess ] || mv -f config.guess config.guess.ups
	cp -f /usr/share/misc/config.guess config.guess
endif
	[ ! -f doc/README.html ] || mv -f doc/README.html doc/README.html.ups
	[ ! -f doc/README ] || mv -f doc/README doc/README.ups
	./configure --disable-lynx --host=$(DEB_HOST_GNU_TYPE) --build=$(DEB_BUILD_GNU_TYPE) --prefix=/usr --mandir=\$${prefix}/share/man --infodir=\$${prefix}/share/info CFLAGS="$(CFLAGS)" LDFLAGS="-Wl,-z,defs"
	touch $@

build: build-stamp
build-stamp: patch-stamp config.status
	dh_testdir
	$(MAKE)
	$(MAKE) doxygen
	sed -i -e 's/ -1 / \\-1 /g' -e 's/ -1\./ \\-1./g' $(CURDIR)/doc/reference/man/man3/dfork.h.3
	sed -i -e 's/\\fI\.\.\.\\fP/\\fI\\\&.\\.\\.\\fP/g' $(CURDIR)/doc/reference/man/man3/dexec.h.3
	touch $@

clean: clean-patched unpatch
clean-patched:
	dh_testdir
	dh_testroot
	rm -f build-stamp configure-stamp
	[ ! -f Makefile ] || $(MAKE) distclean
	rm -rf doc/reference
	dh_clean
	[ ! -f doc/README.ups ] || mv -f doc/README.ups doc/README
	[ ! -f doc/README.html.ups ] || mv -f doc/README.html.ups doc/README.html
	[ ! -f config.guess.ups ] || mv -f config.guess.ups config.guess
	[ ! -f config.sub.ups ] || mv -f config.sub.ups config.sub
	[ ! -f libdaemon.spec.ups ] || mv -f libdaemon.spec.ups libdaemon.spec

install: build
	dh_testdir
	dh_testroot
	dh_clean -k
	dh_installdirs
	$(MAKE) DESTDIR=$(CURDIR)/debian/tmp install

# 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_installchangelogs -p libdaemon-dev README
	dh_installchangelogs -N libdaemon-dev
	dh_installdocs
	dh_installexamples
	dh_install --sourcedir=debian/tmp
	dh_installman
	dh_link
	dh_strip --dbg-package=libdaemon0-dbg
	dh_compress
	dh_fixperms
	dh_makeshlibs
	dh_installdeb
	dh_shlibdeps
	dh_gencontrol
	dh_md5sums
	dh_builddeb

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