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