2 # Note that I have to refer to debhelper programs with ./, to make sure
3 # I run the most current ones.
5 # This is _not_ a good example of a debhelper rules file, but I didn't need
6 # to tell you that; just see the 25 lines of inlined perl below..
7 # See examples/ for some good examples.
9 # Ensure that builds are self-hosting, which means I have to use the .pm
10 # files in this package, not any that may be on the system.
13 # If any automatic script generation is done in building this package,
14 # be sure to use the new templates from this package.
15 export DH_AUTOSCRIPTDIR=autoscripts
17 # Use most recent compatability level.
20 # Figure out the `current debhelper version.
21 VERSION=$(shell expr "`dpkg-parsechangelog 2>/dev/null |grep Version:`" : '.*Version: \(.*\)')
23 PERLLIBDIR=$(shell perl -MConfig -e 'print $$Config{vendorlib}')
28 build: test build-stamp
30 # Generate the main man page. All the perl cruft is to get a list
31 # of debhelper commands with short descriptions into the man page.
32 pod2man -c Debhelper -r "$(VERSION)" debhelper.pod | \
36 open (IN, $$_) or die "$$_: $$!"; \
39 if ($$file=~m/=head1 NAME\n\n(.*?) - (.*?)\n/m) { \
40 $$collect.=".IP $$1(1)\n$$2\n"; \
45 s/#LIST#/$$collect/; \
48 }' `find . -type f -perm +1 -maxdepth 1 -name "dh_*" | sort` > debhelper.1
49 # Turn all executables into man pages.
50 find . -type f -perm +1 -maxdepth 1 -name "dh_*" \
51 -exec pod2man -c Debhelper -r "$(VERSION)" {} {}.1 \;
57 -./dh_clean *.1 *-stamp
62 DH_VERSION=10 perl -MTest::Harness -e 'runtests grep { ! /CVS/ } @ARGV' t/*
66 # Build architecture-dependent files here.
70 # Build architecture-independent files here.
75 ./dh_installdirs usr/bin usr/share/debhelper \
76 $(PERLLIBDIR)/Debian/Debhelper
78 printf "package Debian::Debhelper::Dh_Version;\n\$$version='$(VERSION)';" > \
79 debian/debhelper/$(PERLLIBDIR)/Debian/Debhelper/Dh_Version.pm
81 find . -perm +111 -maxdepth 1 -type f -not -name "*.pl" \
82 -exec install -p {} debian/debhelper/usr/bin \;
83 cp -a Debian/Debhelper/*.pm \
84 debian/debhelper/$(PERLLIBDIR)/Debian/Debhelper/
85 cp -a autoscripts debian/debhelper/usr/share/debhelper
86 rm -rf debian/debhelper/usr/share/debhelper/autoscripts/CVS
88 ./dh_installdocs `find doc -type f | grep -v CVS`
89 ./dh_installexamples `find examples -type f | grep -v CVS`
93 ./dh_installchangelogs
104 # Update the debhelper web page. Not intended for use by anyone except the
107 cp debian/changelog /home/pub/programs/debhelper/CHANGES
108 echo -n $(VERSION) > /home/pub/programs/debhelper/LATEST-VERSION-IS
110 binary: binary-indep binary-arch
111 .PHONY: build clean binary-indep binary-arch binary dist