#!/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/share/doc/$(package) docbasedir := $(prefix)/usr/share/doc-base # tool abstraction install_file := install -o root -g root -m 644 -p install_script := install -o root -g root -m 755 -p 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: *//') # pretty-print the date DATE := $(shell LC_ALL=C date --date="`dpkg-parsechangelog | grep '^Date: ' | sed 's/^Date: *//'`" '+%d %B, %Y') version.ent: debian/changelog :> version.ent echo "" >> version.ent echo "" >> version.ent build: $(checkdir) $(MAKE) touch build clean: $(checkdir) $(MAKE) clean rm -f build rm -rf $(prefix) rm -f debian/files* core debian/substvars binary-indep: build $(checkdir) $(checkroot) rm -rf $(prefix) $(make_directory) $(prefix)/DEBIAN $(make_directory) $(docdir) $(docbasedir) for dir in $(wildcard developers-reference*.html); do \ $(make_directory) $(docdir)/$$dir ;\ $(install_file) $$dir/*.html $(docdir)/$$dir/ ;\ done $(install_file) developers-reference*.txt $(docdir)/ $(install_file) developers-reference*.pdf $(docdir)/ $(install_file) developers-reference*.sgml version.ent common.ent $(docdir)/ $(install_file) debian/copyright $(docdir)/ $(install_file) debian/changelog $(docdir)/ $(install_file) developers-reference.desc $(docbasedir)/$(package) # make sure control files are good sh -n debian/postinst sh -n debian/prerm $(install_script) debian/postinst debian/prerm $(prefix)/DEBIAN/ # compress docdir (policy) find $(docdir) -type f \( -size +4k -or -iname "change*" \) \ ! -name "*.html" ! -name "*.gif" ! -name "*.pdf" \ ! -name "copyright" | xargs $(compress) dpkg-gencontrol -isp # be tricky about putting the TOC sections into the description of the package perl -ne '/^\d+\.\s/ && print " $$_";' < developers-reference.txt \ >> $(prefix)/DEBIAN/control dpkg --build $(prefix) .. # some extra-package files $(install_file) developers-reference.pdf \ ../developers-reference.pdf.$(DEB_VERSION) dpkg-distaddfile -fdebian/files developers-reference.pdf.$(DEB_VERSION) byhand - GZIP=-9 tar czf ../developers-reference.html.tar.gz.$(DEB_VERSION)\ developers-reference.html dpkg-distaddfile -fdebian/files developers-reference.html.tar.gz.$(DEB_VERSION)\ byhand - $(install_file) developers-reference.txt \ ../developers-reference.txt $(compress) ../developers-reference.txt mv ../developers-reference.txt.gz \ ../developers-reference.txt.gz.$(DEB_VERSION) dpkg-distaddfile -fdebian/files \ developers-reference.txt.gz.$(DEB_VERSION) 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 test -f developers-reference.sgml endef # Below here is fairly generic really define checkroot test `id -u` = 0 endef binary: binary-indep binary-arch .PHONY: binary binary-arch binary-indep clean #Local variables: #mode: makefile #End: