]> git.donarmstrong.com Git - debhelper.git/blob - debian/rules
r1811: * Remove dh_shlibs from binary-indep section of debian/rules.
[debhelper.git] / debian / rules
1 #!/usr/bin/make -f
2 # This is _not_ a good example of a debhelper rules file.
3 # See examples/ for some good examples.
4
5 # This generates a list of synopses of debhelper commands, and substitutes
6 # it in to the #LIST# line on the man page fed to it on stdin. Must be passed
7 # parameters of all the executables or pod files to get the synopses from.
8 # (Like I said, this is not a good example of a debhelper rules file..)
9 # For correct conversion of pod tags (like S< >) #LIST# must be substituted in
10 # the pod file and not in the troff file.
11 MAKEMANLIST=perl -e ' \
12                 undef $$/; \
13                 foreach (@ARGV) { \
14                         open (IN, $$_) or die "$$_: $$!"; \
15                         $$file=<IN>; \
16                         close IN; \
17                         if ($$file=~m/=head1 .*?\n\n(.*?) - (.*?)\n\n/s) { \
18                                 $$collect.="=item $$1(1)\n\n$$2\n\n"; \
19                         } \
20                 } \
21                 END { \
22                         while (<STDIN>) { \
23                                 s/\#LIST\#/$$collect/; \
24                                 print; \
25                         }; \
26                 }'
27
28 # Figure out the `current debhelper version.
29 VERSION=$(shell expr "`dpkg-parsechangelog 2>/dev/null |grep Version:`" : '.*Version: \(.*\)')
30
31 PERLLIBDIR=$(shell perl -MConfig -e 'print $$Config{vendorlib}')
32
33 POD2MAN=pod2man -c Debhelper -r "$(VERSION)"
34
35 build: test build-stamp
36 build-stamp:
37         find . -maxdepth 1 -type f -perm +100 -name "dh_*" \
38                 -exec $(POD2MAN) {} {}.1 \;
39         cat debhelper.pod | \
40                 $(MAKEMANLIST) `find . -maxdepth 1 -type f -perm +100 -name "dh_*" | sort` | \
41                 $(POD2MAN) --section=7  > debhelper.7
42         po4a po/po4a.cfg 
43         set -e; \
44         for dir in man/*; do \
45                 lang=`basename $$dir`; \
46                 for file in $$dir/dh_*.pod; do \
47                         prog=`basename $$file | sed 's/.pod//'`; \
48                         $(POD2MAN) $$file $$prog.$$lang.1; \
49                 done; \
50                 cat $$dir/debhelper.pod | \
51                         $(MAKEMANLIST) `find $$dir -type f -maxdepth 1 -name "dh_*.pod" | sort` | \
52                         $(POD2MAN) --section=7 > debhelper.$$lang.7; \
53         done
54         
55         printf "package Debian::Debhelper::Dh_Version;\n\$$version='$(VERSION)';" > \
56                 Debian/Debhelper/Dh_Version.pm
57         touch build-stamp
58
59 clean:
60         ./run dh_testdir
61         ./run dh_testroot
62         ./run dh_clean *.1 *.7 *-stamp Debian/Debhelper/Dh_Version.pm
63         rm -rf man
64
65 test: test-stamp
66 test-stamp:
67         ./run dh_clean
68         ./run perl -MTest::Harness -e 'runtests grep { ! /CVS/ && ! /\.svn/ } @ARGV' t/*
69         ./run dh_clean
70         touch test-stamp
71
72 binary-indep: build
73         ./run dh_testdir
74         ./run dh_testroot
75         ./run dh_clean -k
76         ./run dh_install -X .1 dh_* usr/bin
77         ./run dh_install Debian/Debhelper/*.pm $(PERLLIBDIR)/Debian/Debhelper/
78         ./run dh_install autoscripts usr/share/debhelper
79         ./run dh_installdocs doc/*
80         ./run dh_installexamples examples/*
81         ./run dh_installman *.1 *.7
82         ./run dh_installchangelogs
83         ./run dh_link
84         ./run dh_compress
85         ./run dh_fixperms
86         ./run dh_perl
87         ./run dh_installdeb
88         ./run dh_gencontrol
89         ./run dh_md5sums
90         ./run dh_builddeb
91
92 # Update the debhelper web page. Not intended for use by anyone except the
93 # author.
94 DIR=/home/web/kitenet.net/programs/debhelper
95 installhook:
96         cp debian/changelog $(DIR)/CHANGES
97         echo -n $(VERSION) > $(DIR)/LATEST-VERSION-IS
98
99 binary-arch:
100 binary: binary-indep binary-arch
101 .PHONY: build clean binary-indep binary-arch binary