blob: 08f8e5d24a4637b9b1b9d8176940657cfd4241a2 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
|
#!/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.
# 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
# This generates a list of synopses of debhelper commands, and substitutes
# it in to the #LIST# line on the man page fed to it on stdin. Must be passes
# parameters of all the executables or pod files to get the synopses from.
# (Like I said, this is not a good example of a debhelper rules file..)
MAKEMANLIST=perl -e ' \
undef $$/; \
foreach (@ARGV) { \
open (IN, $$_) or die "$$_: $$!"; \
$$file=<IN>; \
close IN; \
if ($$file=~m/=head1 .*\n\n(.*?) - (.*?)\n/m) { \
$$collect.=".IP $$1(1)\n$$2\n"; \
} \
} \
END { \
while (<STDIN>) { \
s/\#LIST\#/$$collect/; \
print; \
}; \
}'
# 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}')
POD2MAN=pod2man -c Debhelper -r "$(VERSION)"
build: test build-stamp
build-stamp:
# Build all the man pages.
find . -type f -perm +100 -maxdepth 1 -name "dh_*" \
-exec $(POD2MAN) {} {}.1 \;
$(POD2MAN) --section=7 debhelper.pod | \
$(MAKEMANLIST) `find . -type f -perm +100 -maxdepth 1 -name "dh_*" | sort` > debhelper.7
# Translated pages.
set -e; \
for dir in man/*; do \
lang=`basename $$dir`; \
for file in $$dir/dh_*.pod; do \
prog=`basename $$file | sed 's/.pod//'`; \
$(POD2MAN) $$file $$prog.$$lang.1; \
done; \
$(POD2MAN) --section=7 $$dir/debhelper.pod | \
$(MAKEMANLIST) `find $$dir -type f -maxdepth 1 -name "dh_*.pod" | sort` > debhelper.$$lang.7; \
done
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 *.7 *-stamp Debian/Debhelper/Dh_Version.pm
test: test-stamp
test-stamp:
./dh_clean
DH_VERSION=10 perl -MTest::Harness -e 'runtests grep { ! /CVS/ && ! /\.svn/ } @ARGV' t/*
./dh_clean
touch test-stamp
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 *.7
./dh_installchangelogs
./dh_shlibdeps
./dh_link
./dh_compress
./dh_fixperms
./dh_perl
./dh_installdeb
./dh_gencontrol
./dh_md5sums
./dh_builddeb
# Update the debhelper web page. Not intended for use by anyone except the
# author.
DIR=/home/web/kitenet.net/programs/debhelper
installhook:
cp debian/changelog $(DIR)/CHANGES
echo -n $(VERSION) > $(DIR)/LATEST-VERSION-IS
binary-arch:
binary: binary-indep binary-arch
.PHONY: build clean binary-indep binary-arch binary
|