#!/usr/bin/make -f

export DH_VERBOSE=1

CFLAGS = -O2 -Wall -Wno-comment
ifneq (,$(findstring debug,$(DEB_BUILD_OPTIONS)))
CFLAGS += -g
endif
export CFLAGS

config: config-stamp
config-stamp:
	dh_testdir

	# simple version
	mkdir -p build-simple
	cd build-simple && NROFFPROG=/usr/bin/nroff ../configure \
		--prefix=/usr -v \
		--with-all-insults \
		--with-devel --with-pam --with-fqdn \
		--with-logging=syslog --with-logfac=authpriv \
		--with-env-editor --with-editor=/usr/bin/editor \
		--with-timeout=15 --with-password-timeout=0 \
		--disable-root-mailer --disable-setresuid \
		--with-sendmail=/usr/sbin/sendmail \
		--mandir=/usr/share/man --libexecdir=/usr/lib/sudo \
		--with-secure-path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/X11R6/bin"

	# LDAP version
	mkdir -p build-ldap
	cd build-ldap && NROFFPROG=/usr/bin/nroff ../configure \
		--prefix=/usr -v \
		--with-all-insults \
		--with-exempt=sudo --with-pam --with-ldap --with-fqdn \
		--with-logging=syslog --with-logfac=authpriv \
		--with-env-editor --with-editor=/usr/bin/editor \
		--with-timeout=15 --with-password-timeout=0 \
		--disable-root-mailer --disable-setresuid \
		--with-sendmail=/usr/sbin/sendmail \
		--with-ldap-conf-file=/etc/ldap/ldap.conf \
		--mandir=/usr/share/man --libexecdir=/usr/lib/sudo \
		--with-secure-path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/X11R6/bin"

	touch config-stamp

build: build-stamp
build-stamp: config-stamp
	dh_testdir

	# ensure our pod changes get picked up
	$(MAKE) -C build-simple sudoers.man.in sudo.man.in visudo.man.in

	$(MAKE) -C build-simple
	$(MAKE) -C build-ldap

	touch build-stamp

clean:
	dh_testdir
	dh_testroot
	rm -f config-stamp build-stamp
	rm -rf build-simple build-ldap
	rm -f config.cache

	-test -r /usr/share/misc/config.sub && \
		cp -f /usr/share/misc/config.sub config.sub
	-test -r /usr/share/misc/config.guess && \
		cp -f /usr/share/misc/config.guess config.guess

	dh_clean

install: build-stamp
	dh_testdir
	dh_testroot
	dh_clean -k
	dh_installdirs

	$(MAKE) -C build-simple install DESTDIR=$(CURDIR)/debian/sudo
	$(MAKE) -C build-ldap   install DESTDIR=$(CURDIR)/debian/sudo-ldap

	# remove stuff we don't want
	rm -f	$(CURDIR)/debian/sudo/etc/sudoers \
		$(CURDIR)/debian/sudo-ldap/etc/sudoers

	# and install things we do want that make install doesn't know about
	install -o root -g root -m 0644 $(CURDIR)/debian/sudo.pam \
		debian/sudo/etc/pam.d/sudo
	install -o root -g root -m 0644 $(CURDIR)/debian/sudo.pam \
		debian/sudo-ldap/etc/pam.d/sudo

	install -o root -g root -m 0644 $(CURDIR)/debian/sudo.lintian \
		debian/sudo/usr/share/lintian/overrides/sudo
	install -o root -g root -m 0644 $(CURDIR)/debian/sudo-ldap.lintian \
		debian/sudo-ldap/usr/share/lintian/overrides/sudo-ldap

binary-indep: build install

binary-arch: build install
	dh_testdir
	dh_testroot
	dh_installdocs
	dh_installexamples -A sudoers
	dh_installinit -psudo -psudo-ldap
	dh_installmanpages fnmatch.3
	dh_installinfo -A
	dh_installchangelogs CHANGES
	dh_strip
	dh_compress
	dh_fixperms
	chown root.root debian/sudo/usr/bin/sudo debian/sudo-ldap/usr/bin/sudo
	chmod 4755 debian/sudo/usr/bin/sudo debian/sudo-ldap/usr/bin/sudo
	dh_installdeb
	dh_shlibdeps
	dh_gencontrol
	dh_md5sums
	dh_builddeb

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