Listing 3. Rules File for deb Building

#!/usr/bin/make -f
# Sample debian/rules file - for GNU Hello (1.3).
# 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=hello

build:
	$(checkdir)
	./configure --prefix=/usr
	$(MAKE) CFLAGS=-O2 LDFLAGS=
	touch build

clean:
	$(checkdir)
	rm -f build
	-$(MAKE) -i distclean
	rm -rf *~ debian/tmp debian/*~ debian/files* debian/substvars

binary-indep:	checkroot build
	$(checkdir)
# There are no architecture-independent files to be uploaded
# generated by this package.  If there were any they would be
# made here.

binary-arch:	checkroot build
	$(checkdir)
	rm -rf debian/tmp
	install -d debian/tmp/DEBIAN\
		-d debian/tmp/usr/share/doc/$(package)\
		-d debian/tmp/usr/share/man/man1
	install -m 755 debian/postinst debian/prerm debian/tmp/DEBIAN
	$(MAKE) CFLAGS=-O2 LDFLAGS=-s INSTALL_PROGRAM='install -c -s' \
		prefix=$$(pwd)/debian/tmp/usr install
	mv debian/tmp/usr/info debian/tmp/usr/share/info
	gzip -9v debian/tmp/usr/share/info/*
	cp -a debian/copyright debian/tmp/usr/share/doc/$(package)/.
	cp -a debian/changelog debian/tmp/usr/share/doc/$(package)/changelog.Debian
	cp -a ChangeLog debian/tmp/usr/share/doc/$(package)/changelog
	cd debian/tmp/usr/share/doc/$(package) && gzip -9v changelog changelog.Debian
	cp -a debian/hello.1 debian/tmp/usr/share/man/man1
	gzip -9 debian/tmp/usr/share/man/man1/hello.1
	dpkg-shlibdeps hello
	dpkg-gencontrol -isp
	chown -R root.root debian/tmp
	chmod -R g-ws debian/tmp
	dpkg --build debian/tmp ..

define checkdir
	test -f $(package).c -a -f debian/rules
endef

# Below here is fairly generic really

binary:		binary-indep binary-arch

checkroot:
	$(checkdir)
	test $$(id -u) = 0

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