]> git.donarmstrong.com Git - debhelper.git/blob - debian/rules
r1818: releasing version 5.0.5
[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 version:
36         printf "package Debian::Debhelper::Dh_Version;\n\$$version='$(VERSION)';" > \
37                 Debian/Debhelper/Dh_Version.pm
38
39 build: version test build-stamp
40 build-stamp:
41         find . -maxdepth 1 -type f -perm +100 -name "dh_*" \
42                 -exec $(POD2MAN) {} {}.1 \;
43         cat debhelper.pod | \
44                 $(MAKEMANLIST) `find . -maxdepth 1 -type f -perm +100 -name "dh_*" | sort` | \
45                 $(POD2MAN) --section=7  > debhelper.7
46         po4a po/po4a.cfg 
47         set -e; \
48         for dir in man/*; do \
49                 lang=`basename $$dir`; \
50                 for file in $$dir/dh_*.pod; do \
51                         prog=`basename $$file | sed 's/.pod//'`; \
52                         $(POD2MAN) $$file $$prog.$$lang.1; \
53                 done; \
54                 cat $$dir/debhelper.pod | \
55                         $(MAKEMANLIST) `find $$dir -type f -maxdepth 1 -name "dh_*.pod" | sort` | \
56                         $(POD2MAN) --section=7 > debhelper.$$lang.7; \
57         done
58         
59         touch build-stamp
60
61 clean:
62         ./run dh_testdir
63         ./run dh_testroot
64         ./run dh_clean *.1 *.7 *-stamp Debian/Debhelper/Dh_Version.pm
65         rm -rf man
66
67 test: version test-stamp
68 test-stamp:
69         ./run dh_clean
70         ./run perl -MTest::Harness -e 'runtests grep { ! /CVS/ && ! /\.svn/ } @ARGV' t/*
71         ./run dh_clean
72         touch test-stamp
73
74 binary-indep: build
75         ./run dh_testdir
76         ./run dh_testroot
77         ./run dh_clean -k
78         ./run dh_install -X .1 dh_* usr/bin
79         ./run dh_install Debian/Debhelper/*.pm $(PERLLIBDIR)/Debian/Debhelper/
80         ./run dh_install autoscripts usr/share/debhelper
81         ./run dh_installdocs doc/*
82         ./run dh_installexamples examples/*
83         ./run dh_installman *.1 *.7
84         ./run dh_installchangelogs
85         ./run dh_link
86         ./run dh_compress
87         ./run dh_fixperms
88         ./run dh_perl
89         ./run dh_installdeb
90         ./run dh_gencontrol
91         ./run dh_md5sums
92         ./run dh_builddeb
93
94 # Update the debhelper web page. Not intended for use by anyone except the
95 # author.
96 DIR=/home/web/kitenet.net/programs/debhelper
97 installhook:
98         cp debian/changelog $(DIR)/CHANGES
99         echo -n $(VERSION) > $(DIR)/LATEST-VERSION-IS
100
101 binary-arch:
102 binary: binary-indep binary-arch
103 .PHONY: build clean binary-indep binary-arch binary