#!/usr/bin/make -f # Note that I have to refer to debhelper programs with ./, to make sure # I run the most current ones. # # This is _not_ a good example of a debhelper rules file, but I didn't need # to tell you that; just see the chunk of inlined perl below.. # See examples/ for some good examples. # Ensure that builds are self-hosting, which means I have to use the .pm # files in this package, not any that may be on the system. export PERL5LIB=. # If any automatic script generation is done in building this package, # be sure to use the new templates from this package. export DH_AUTOSCRIPTDIR=autoscripts # Figure out the `current debhelper version. VERSION=$(shell expr "`dpkg-parsechangelog 2>/dev/null |grep Version:`" : '.*Version: \(.*\)') PERLLIBDIR=$(shell perl -MConfig -e 'print $$Config{vendorlib}') build: test build-stamp build-stamp: # Generate the main man page. All the perl cruft is to get a list # of debhelper commands with short descriptions into the man page. pod2man -c Debhelper -r "$(VERSION)" debhelper.pod | \ perl -e ' \ undef $$/; \ foreach (@ARGV) { \ open (IN, $$_) or die "$$_: $$!"; \ $$file=; \ close IN; \ if ($$file=~m/=head1 NAME\n\n(.*?) - (.*?)\n/m) { \ $$collect.=".IP $$1(1)\n$$2\n"; \ } \ } \ END { \ while () { \ s/#LIST#/$$collect/; \ print; \ }; \ }' `find . -type f -perm +1 -maxdepth 1 -name "dh_*" | sort` > debhelper.1 # Turn all executables into man pages. find . -type f -perm +1 -maxdepth 1 -name "dh_*" \ -exec pod2man -c Debhelper -r "$(VERSION)" {} {}.1 \; printf "package Debian::Debhelper::Dh_Version;\n\$$version='$(VERSION)';" > \ Debian/Debhelper/Dh_Version.pm touch build-stamp clean: ./dh_testdir ./dh_testroot -./dh_clean *.1 *-stamp Debian/Debhelper/Dh_Version.pm test: test-stamp test-stamp: ./dh_clean DH_VERSION=10 perl -MTest::Harness -e 'runtests grep { ! /CVS/ } @ARGV' t/* ./dh_clean touch test-stamp # Build architecture-dependent files here. binary-arch: build # Nothing to do. # Build architecture-independent files here. binary-indep: build ./dh_testdir ./dh_testroot ./dh_clean -k ./dh_install -X .1 dh_* usr/bin ./dh_install Debian/Debhelper/*.pm $(PERLLIBDIR)/Debian/Debhelper/ ./dh_install autoscripts usr/share/debhelper ./dh_installdocs doc/* ./dh_installexamples examples/* ./dh_installman *.1 ./dh_installchangelogs ./dh_shlibdeps ./dh_link ./dh_compress ./dh_fixperms ./dh_perl ./dh_installdeb ./dh_gencontrol ./dh_md5sums ./dh_builddeb -v # Update the debhelper web page. Not intended for use by anyone except the # author. installhook: cp debian/changelog /home/pub/programs/debhelper/CHANGES echo -n $(VERSION) > /home/pub/programs/debhelper/LATEST-VERSION-IS binary: binary-indep binary-arch .PHONY: build clean binary-indep binary-arch binary dist