#! /usr/bin/make -f
#

# libnfslock
NMVER	= 0
NSOVER	= 0.1

# liblockfile
MVER	= 1
SOVER	= 1.0

tmp	= debian/tmp

do_md5sums = cd $(tmp) && find -type f \! -regex '.*/DEBIAN/.*' -printf '%P\0' | xargs -r0 md5sum >DEBIAN/md5sums

INSTALL=install
ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS)))
	INSTALL+=-s
endif


build:	config.status
	$(checkdir)
	make
	touch build

config.status:
	./configure --enable-shared --prefix=/usr \
		--with-mailgroup --mandir=/usr/share/man
	
clean:
	rm -rf build $(tmp)* debian/files debian/substvars
	[ ! -f Makefile ] || make distclean

binary-indep: checkroot
	$(checkdir)

binary-arch: checkroot
	$(checkdir)
	#
	#	First, liblockfile.so.1
	#
	rm -rf $(tmp)*
	install -d -o root -m 755 $(tmp)
	install -d -o root -m 755 $(tmp)/DEBIAN
	install -d -o root -m 755 $(tmp)/usr/lib
	install -d -o root -m 755 $(tmp)/usr/bin
	install -d -o root -m 755 $(tmp)/usr/share/man/man1
	install -d -o root -m 755 $(tmp)/usr/share/doc/liblockfile1
	#
	install -o root -m 755 debian/postinst $(tmp)/DEBIAN
	install -o root -m 755 debian/postrm $(tmp)/DEBIAN
	install -o root -m 644 debian/shlibs $(tmp)/DEBIAN
	$(INSTALL) -o root -m 644 liblockfile.so \
		$(tmp)/usr/lib/liblockfile.so.$(SOVER)
	install -o root -m 644 dotlockfile.1 $(tmp)/usr/share/man/man1
	gzip -9f $(tmp)/usr/share/man/*/*
	$(INSTALL) -g mail -m 2755 dotlockfile $(tmp)/usr/bin/dotlockfile
	ln -s liblockfile.so.$(SOVER) $(tmp)/usr/lib/liblockfile.so.$(MVER)
	install -o root -m 644 debian/changelog \
		$(tmp)/usr/share/doc/liblockfile1/changelog.Debian
	install -o root -m 644 Changelog \
		$(tmp)/usr/share/doc/liblockfile1/changelog
	gzip -9f $(tmp)/usr/share/doc/liblockfile1/*
	install -o root -m 644 COPYRIGHT \
		$(tmp)/usr/share/doc/liblockfile1/copyright
	$(do_md5sums)
	dpkg-shlibdeps liblockfile.so
	dpkg-gencontrol -pliblockfile1 -P$(tmp) -isp
	dpkg --build $(tmp) ..
	#
	#	Now build liblockfile-dev
	#
	rm -rf $(tmp)*
	install -d -o root -m 755 $(tmp)
	install -d -o root -m 755 $(tmp)/DEBIAN
	install -d -o root -m 755 $(tmp)/usr/lib
	install -d -o root -m 755 $(tmp)/usr/include
	install -d -o root -m 755 $(tmp)/usr/share/man/man3
	install -d -o root -m 755 $(tmp)/usr/share/doc/liblockfile-dev
	#
	install -o root -m 644 lockfile.h maillock.h $(tmp)/usr/include
	ln -s liblockfile.so.$(SOVER) $(tmp)/usr/lib/liblockfile.so
	install -o root -m 644 liblockfile.a $(tmp)/usr/lib
	install -o root -m 644 maillock.3 $(tmp)/usr/share/man/man3
	install -o root -m 644 lockfile_create.3 $(tmp)/usr/share/man/man3
	gzip -9f $(tmp)/usr/share/man/*/*
	ln -sf lockfile_create.3.gz $(tmp)/usr/share/man/man3/lockfile_check.3.gz
	ln -sf lockfile_create.3.gz $(tmp)/usr/share/man/man3/lockfile_touch.3.gz
	ln -sf lockfile_create.3.gz $(tmp)/usr/share/man/man3/lockfile_remove.3.gz
	ln -sf maillock.3.gz $(tmp)/usr/share/man/man3/mailunlock.3.gz
	ln -sf maillock.3.gz $(tmp)/usr/share/man/man3/touchlock.3.gz
	install -o root -m 644 debian/changelog \
		$(tmp)/usr/share/doc/liblockfile-dev/changelog.Debian
	install -o root -m 644 Changelog \
		$(tmp)/usr/share/doc/liblockfile-dev/changelog
	gzip -9f $(tmp)/usr/share/doc/liblockfile-dev/*
	install -o root -m 644 COPYRIGHT \
		$(tmp)/usr/share/doc/liblockfile-dev/copyright
	$(do_md5sums)
	dpkg-gencontrol -pliblockfile-dev -P$(tmp) -isp
	dpkg --build $(tmp) ..


binary-nfslock:	checkroot
	#
	#	build libnfslock (OBSOLETE)
	#
	rm -rf $(tmp)*
	install -d -o root -m 755 $(tmp)
	install -d -o root -m 755 $(tmp)/DEBIAN
	install -d -o root -m 755 $(tmp)/lib
	install -d -o root -m 755 $(tmp)/usr/share/doc/libnfslock
	#
	install -o root -m 644 debian/shlibs.nfslock $(tmp)/DEBIAN/shlibs
	install -o root -m 755 debian/postinst.nfs $(tmp)/DEBIAN/postinst
	install -o root -m 755 debian/prerm.nfs $(tmp)/DEBIAN/prerm
	install -o root -m 644 nfslock.so.$(NSOVER) $(tmp)/lib
	ln -s nfslock.so.$(NSOVER) $(tmp)/lib/nfslock.so.$(NMVER)
	ln -s nfslock.so.$(NSOVER) $(tmp)/lib/nfslock.so
	install -o root -m 644 debian/changelog \
		$(tmp)/usr/share/doc/libnfslock/changelog.Debian
	install -o root -m 644 Changelog \
		$(tmp)/usr/share/doc/libnfslock/changelog
	gzip -9f $(tmp)/usr/share/doc/libnfslock/*
	install -o root -m 644 COPYRIGHT \
		$(tmp)/usr/share/doc/libnfslock/copyright
	$(do_md5sums)
	dpkg-gencontrol -plibnfslock -P$(tmp)
	dpkg --build $(tmp) ..

define checkdir
	test -f lockfile.c -a -f debian/rules
endef

binary: binary-indep binary-arch

checkroot:
	$(checkdir)
	test root = "`whoami`"

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