#!/usr/bin/make -f
# -*- makefile -*-

package=cpio

CFLAGS = -Wall -g
INSTALL = install
INSTALL_FILE    = $(INSTALL) -p    -o root -g root  -m  644
INSTALL_PROGRAM = $(INSTALL) -p    -o root -g root  -m  755
INSTALL_SCRIPT  = $(INSTALL) -p    -o root -g root  -m  755
INSTALL_DIR     = $(INSTALL) -p -d -o root -g root  -m  755

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

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

Makefile:
	$(checkdir)
	CFLAGS='$(CFLAGS)' CPIO_MT_PROG=mt ./configure --prefix=/usr \
	       --mandir=/usr/share/man \
	       --infodir=/usr/share/info \
	       --bindir=/bin \
	       --libexecdir=/usr/sbin

	touch tests/testsuite

build:	Makefile
	$(checkdir)
	$(MAKE)
	touch tests/testsuite.at tests/testsuite
	$(MAKE) check
	touch build

clean:
	$(checkdir)
	$(RM) build
	-$(MAKE) -i distclean
	$(RM) config.cache
	$(RM) -r *~ debian/tmp debian/*~ debian/files*
	$(RM) -f po/*.gmo debian/substvars

binary-indep:	checkroot build
	$(checkdir)

binary-arch:	checkroot build
	$(checkdir)
	$(RM) -r debian/tmp
	$(INSTALL_DIR) debian/tmp debian/tmp/DEBIAN
	$(INSTALL_DIR) debian/tmp/usr/share/doc/$(package)
# Install Debian package control information files
	$(INSTALL_SCRIPT) debian/preinst debian/postinst \
		debian/prerm debian/tmp/DEBIAN/.
# Install directories
	$(INSTALL_DIR) 	\
		debian/tmp/bin	\
		debian/tmp/usr/share/man/man1	\
		debian/tmp/usr/share/info
# Install files
	$(MAKE) install DESTDIR=$(CURDIR)/debian/tmp
	rm -rf debian/tmp/usr/libexec
	mv debian/tmp/bin/mt debian/tmp/bin/mt-gnu 
	mv debian/tmp/usr/share/man/man1/mt.1 \
	  debian/tmp/usr/share/man/man1/mt-gnu.1
# Strip binaries (including hack by policy wonks)
ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS)))
	strip -R.note -R.comment debian/tmp/bin/*
endif
	rm -rf debian/tmp/usr/sbin
# Install documentation
	install -m 644 ChangeLog debian/tmp/usr/share/doc/$(package)/changelog
	install -m 644 NEWS README debian/tmp/usr/share/doc/$(package)/.
# Install changelog & copyright
	install -m 644 debian/changelog \
	  debian/tmp/usr/share/doc/$(package)/changelog.Debian
	gzip -9v debian/tmp/usr/share/doc/$(package)/*
	gzip -9v debian/tmp/usr/share/man/*/*
	gzip -9v debian/tmp/usr/share/info/*
	install -m 644 debian/copyright debian/tmp/usr/share/doc/$(package)/.
# Determine shared library dependencies
	dpkg-shlibdeps debian/tmp/bin/cpio debian/tmp/bin/mt-gnu

# Generate md5sums
	cd debian/tmp && find * -type f ! -regex '^DEBIAN/.*' -print0 | xargs -r0 md5sum > DEBIAN/md5sums

# Generate deb file
	dpkg-gencontrol -isp
	chown -R root.root debian/tmp
	chmod -R g-ws debian/tmp
	dpkg-deb --build debian/tmp ..

define checkdir
	test -f src/$(package).h && test -f debian/rules
endef

# Below here is fairly generic really

binary:		binary-indep binary-arch

source diff:
	@echo >&2 'source and diff are obsolete - use dpkg-source -b'; false

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

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