#!/usr/bin/make -f # rules file for developers-reference # # I do not use debstd, debhelper, or any of that stuff. # I believe in stripped down rules files; nothing that is not required # I believe in readability through abstraction package := developers-reference # directory abstraction prefix := debian/tmp docdir := $(prefix)/usr/doc/$(package) libdir := $(prefix)/usr/lib/$(package) sharedir := $(prefix)/usr/share/$(package) menudir := $(prefix)/usr/lib/menu docbasedir := $(prefix)/usr/share/doc-base # tool abstraction install_file := install -o root -g root -m 644 install_script := install -o root -g root -m 755 make_directory := install -d -o root -g root -m 755 compress := gzip -9f # version abstraction DEB_VERSION := $(shell LC_ALL=C dpkg-parsechangelog | grep ^Version: | sed 's/^Version: *//') DATE := $(shell date +"%Y-%m-%d") # source depends -- check if these packages are installed SRC_DEPENDS := debiandoc-sgml lout psutils .PHONY: source-depends source-depends: @set -e ;\ for dep in $(SRC_DEPENDS); do \ echo "checking if package \`$$dep' is installed..." ;\ dpkg --get-selections | grep "$$dep\W\+install" || \ exit 1 ;\ done @echo "all source-depends seem to be installed, good" build: developers-reference.sgml $(checkdir) #./debian/rules source-depends rm -f version.ent echo "" >> version.ent echo "" >> version.ent nsgmls -gues developers-reference.sgml # check SGML syntax debiandoc2html developers-reference.sgml debiandoc2text developers-reference.sgml debiandoc2ps -pletter -1 developers-reference.sgml touch build clean: $(checkdir) rm -f build rm -rf developers-reference.html rm -f developers-reference.text* rm -f developers-reference.ps rm -f developers-reference.lout* lout.li rm -f developers-reference.sasp* rm -f version.ent rm -f `find . -name "*~"` rm -rf $(prefix) rm -f debian/files* core debian/substvars binary-indep: build $(checkdir) rm -rf $(prefix) $(make_directory) $(prefix)/DEBIAN $(make_directory) $(docdir) $(make_directory) $(libdir) $(make_directory) $(sharedir) $(make_directory) $(menudir) $(make_directory) $(docbasedir) $(make_directory) $(docdir)/developers-reference.html $(install_file) developers-reference.html/* \ $(docdir)/developers-reference.html/ $(install_file) developers-reference.text $(docdir) $(install_file) developers-reference.sgml $(docdir) $(install_file) debian/copyright $(docdir) $(install_file) debian/changelog $(docdir) $(install_file) debian/menu $(menudir)/$(package) $(install_file) developers-reference.desc $(docbasedir)/$(package) # make sure control files are good sh -n debian/postinst sh -n debian/prerm # install the control files $(install_script) debian/control debian/postinst debian/prerm \ $(prefix)/DEBIAN/ # compress docdir (policy) find $(docdir) -type f \( -size +4k -or -iname "change*" \) \ ! -name "*.html" ! -name "*.gif" \ ! -name "copyright" | xargs $(compress) dpkg-gencontrol -isp dpkg --build $(prefix) .. # some extra-package files $(install_file) developers-reference.ps ../ $(compress) ../developers-reference.ps dpkg-distaddfile -fdebian/files developers-reference.ps.gz byhand - GZIP=-9v tar czf ../developers-reference.html.tar.gz \ developers-reference.html dpkg-distaddfile -fdebian/files developers-reference.html.tar.gz\ byhand - $(install_file) developers-reference.text .. $(compress) developers-reference.text dpkg-distaddfile -fdebian/files developers-reference.text.gz byhand - binary-arch: build # There are no architecture-dependent files to be uploaded # generated by this package. If there were any they would be # made here. define checkdir test -f debian/rules endef define checkroot test `id -u` = 0 endef # Below here is fairly generic really binary: binary-indep binary-arch .PHONY: binary binary-arch binary-indep clean