chiark / gitweb /
lotsa bugfixing
[developers-reference.git] / debian / rules
1 #!/usr/bin/make -f
2 # rules file for developers-reference
3 #
4 # I do not use debstd, debhelper, or any of that stuff.
5 # I believe in stripped down rules files; nothing that is not required
6 # I believe in readability through abstraction
7
8 package         := developers-reference
9
10 # directory abstraction
11 prefix          := debian/tmp
12 docdir          := $(prefix)/usr/doc/$(package)
13 libdir          := $(prefix)/usr/lib/$(package)
14 sharedir        := $(prefix)/usr/share/$(package)
15 menudir         := $(prefix)/usr/lib/menu
16 docbasedir      := $(prefix)/usr/share/doc-base
17
18 # tool abstraction
19 install_file    := install -o root -g root -m 644
20 install_script  := install -o root -g root -m 755
21 make_directory  := install -d -o root -g root -m 755
22 compress        := gzip -9f
23
24 # version abstraction
25 DEB_VERSION     := $(shell LC_ALL=C dpkg-parsechangelog | grep ^Version: | sed 's/^Version: *//')
26 DATE            := $(shell date +"%Y-%m-%d")
27
28
29 build:
30         $(checkdir)
31         rm -f version.ent
32         echo "<!entity version \"$(DEB_VERSION)\">" >> version.ent
33         echo "<!entity date    \"$(DATE)\">"        >> version.ent
34         nsgmls -gues developers-reference.sgml  # check SGML syntax
35         debiandoc2html developers-reference.sgml
36         debiandoc2text developers-reference.sgml
37         touch build
38
39 clean:
40         $(checkdir)
41         rm -f build
42         rm -rf developers-reference.html
43         rm -f developers-reference.text*
44         rm -f developers-reference.ps
45         rm -f developers-reference.lout* lout.li
46         rm -f version.ent
47         rm -f `find . -name "*~"`
48         rm -rf $(prefix)
49         rm -f debian/files* core debian/substvars
50
51 binary-indep:   build
52         $(checkdir)
53         rm -rf $(prefix)
54         $(make_directory) $(prefix)/DEBIAN
55         $(make_directory) $(docdir)
56         $(make_directory) $(libdir)
57         $(make_directory) $(sharedir)
58         $(make_directory) $(menudir)
59         $(make_directory) $(docbasedir)
60
61         $(make_directory) $(docdir)/developers-reference.html
62         $(install_file) developers-reference.html/*     \
63                 $(docdir)/developers-reference.html/
64         $(install_file) developers-reference.text $(docdir)
65         $(install_file) developers-reference.sgml $(docdir)
66         $(install_file) debian/copyright $(docdir)
67         $(install_file) debian/changelog $(docdir)
68         $(install_file) debian/menu $(menudir)/$(package)
69         $(install_file) developers-reference.desc $(docbasedir)/$(package)
70
71         # make sure control files are good
72         sh -n debian/postinst
73         sh -n debian/prerm
74         # install the control files
75         $(install_script) debian/control debian/postinst debian/prerm \
76                 $(prefix)/DEBIAN/
77
78         # compress docdir (policy)      
79         find $(docdir) -type f \( -size +4k -or -iname "change*" \) \
80             ! -name "*.html" ! -name "*.gif" \
81             ! -name "copyright" | xargs $(compress)
82
83         dpkg-gencontrol -isp
84         dpkg --build $(prefix) ..
85
86         # some extra-package files
87         debiandoc2ps -pletter -1 developers-reference.sgml
88         $(install_file) developers-reference.ps ../
89         $(compress) ../developers-reference.ps
90         dpkg-distaddfile -fdebian/files developers-reference.ps.gz byhand -
91         GZIP=-9v tar czf ../developers-reference.html.tar.gz developers-reference.html
92         dpkg-distaddfile -fdebian/files developers-reference.html.tar.gz byhand -
93         $(install_file) developers-reference.text ..
94         $(compress) developers-reference.text
95         dpkg-distaddfile -fdebian/files developers-reference.text.gz byhand -
96
97 binary-arch:    build
98         $(checkdir)
99 # There are no architecture-dependent files to be uploaded
100 # generated by this package.  If there were any they would be
101 # made here.
102
103 define checkdir
104         test -f debian/rules
105 endef
106
107 # Below here is fairly generic really
108
109 binary:         binary-indep binary-arch
110
111 .PHONY: binary binary-arch binary-indep clean checkroot