]> git.donarmstrong.com Git - deb_pkgs/scowl.git/blob - debian/rules
[svn-inject] Applying Debian modifications to trunk
[deb_pkgs/scowl.git] / debian / rules
1 #!/usr/bin/make -f
2 # -*- Makefile -*- $Id: rules,v 1.18 2005/10/15 03:03:48 david Exp $
3 # Sample debian/rules that uses debhelper.
4 # GNU copyright 1997 to 1999 by Joey Hess.
5 # Customized 27 Oct 1999 by David Coe for wenglish, later moved to scowl
6 # This version is for packages that are architecture independent.
7
8 # Uncomment this to turn on verbose mode.
9 export DH_VERBOSE=1
10
11 # This has to be exported to make some magic below work.
12 export DH_OPTIONS
13
14 # In addition to the scowl binary package, we create wamerican-small, wamerican, wamerican-large, wamerican-huge, and the
15 # corresponding packages for wbritish and wcanadian.
16 # The medium size packages have no -size part in their names
17 # These are the scowl extensions (complexity numbers?) that contribute to each word list (i.e. each size);
18 # the -size parts "-small", "", "-large", and "-huge" correspond to the end of the binary package name:
19 export SIZE_EXTENSIONS-small:=10 20 35
20 export SIZE_EXTENSIONS:=$(SIZE_EXTENSIONS-small) 40 50
21 export SIZE_EXTENSIONS-large:=$(SIZE_EXTENSIONS) 55 60 70
22 export SIZE_EXTENSIONS-huge:=$(SIZE_EXTENSIONS-large) 80
23
24 # These are the scowl word list classes we use:
25 CLASSES:=words proper-names upper contractions
26 VARIANTS:=0 1
27
28 build: build-stamp
29 build-stamp:
30         dh_testdir
31
32         set -e;\
33         for SPELLING in american british canadian; do\
34           for SIZE in -small "" -large -huge; do\
35             echo "The following SCOWL word lists were concatenated and sorted (with duplicates" > w$$SPELLING$$SIZE.scowl-word-lists-used;\
36             echo "removed) to create this word list (see README.Debian for more details):" >> w$$SPELLING$$SIZE.scowl-word-lists-used;\
37             for CLASS in $(CLASSES); do\
38               for EXT in $$(eval echo \\$$SIZE_EXTENSIONS$$SIZE); do\
39                 if [ -f final/english-$$CLASS.$$EXT ]; then\
40                   echo "cat final/english-$$CLASS.$$EXT >> $$SPELLING-english$$SIZE.unsorted";\
41                   cat final/english-$$CLASS.$$EXT >> $$SPELLING-english$$SIZE.unsorted;\
42                   echo "  english-$$CLASS.$$EXT" >> w$$SPELLING$$SIZE.scowl-word-lists-used;\
43                 fi;\
44                 for VARIANT in $(VARIANTS); do\
45                   if [ -f final/variant_$$VARIANT-$$CLASS.$$EXT ]; then\
46                     echo "cat final/variant_$$VARIANT-$$CLASS.$$EXT >> $$SPELLING-english$$SIZE.unsorted";\
47                     cat final/variant_$$VARIANT-$$CLASS.$$EXT >> $$SPELLING-english$$SIZE.unsorted;\
48                     echo "  variant_$$VARIANT-$$CLASS.$$EXT" >> w$$SPELLING$$SIZE.scowl-word-lists-used;\
49                   fi;\
50                 done;\
51                 if [ -f final/$$SPELLING-$$CLASS.$$EXT ]; then\
52                   echo "cat final/$$SPELLING-$$CLASS.$$EXT >> $$SPELLING-english$$SIZE.unsorted";\
53                   cat final/$$SPELLING-$$CLASS.$$EXT >> $$SPELLING-english$$SIZE.unsorted;\
54                   echo "  $$SPELLING-$$CLASS.$$EXT" >> w$$SPELLING$$SIZE.scowl-word-lists-used;\
55                 fi;\
56               done;\
57             done;\
58           echo "sort -u < $$SPELLING-english$$SIZE.unsorted > $$SPELLING-english$$SIZE; rm $$SPELLING-english$$SIZE.unsorted";\
59           sort -u < $$SPELLING-english$$SIZE.unsorted > $$SPELLING-english$$SIZE; rm $$SPELLING-english$$SIZE.unsorted;\
60           done;\
61         done
62
63         touch build-stamp
64
65
66 clean:
67         dh_testdir
68         dh_testroot
69         rm -f build-stamp
70
71         set -e;\
72         for SIZE in -small "" -large -huge; do\
73           for SPELLING in american british canadian; do\
74             rm -f $$SPELLING-english$$SIZE.unsorted $$SPELLING-english$$SIZE $$SPELLING-english$$SIZE.5 w$$SPELLING$$SIZE.scowl-word-lists-used;\
75           done;\
76         done
77
78         dh_clean
79
80
81 install: DH_OPTIONS=
82 install: install-scowl \
83  install-wamerican install-wamerican-small install-wamerican-large install-wamerican-huge \
84  install-wbritish install-wbritish-small install-wbritish-large install-wbritish-huge \
85  install-wcanadian install-wcanadian-small install-wcanadian-large install-wcanadian-huge
86         installdeb-wordlist -pwamerican --noscripts
87         dh_installdebconf -pwamerican
88         installdeb-wordlist --no-package=wamerican --no-package=scowl
89
90
91
92 .PHONY: install-scowl
93 install-scowl: PKG=scowl
94 install-scowl:
95         dh_testdir
96         dh_testroot
97         dh_installdirs --package=$(PKG)
98
99         dh_install --package=$(PKG) final/*.[0-9][0-9] usr/share/dict/scowl
100         dh_installdocs --package=$(PKG) README debian/README.Debian
101
102
103 .PHONY: install-wordlist
104 install-wordlist:
105 #       PKG and WORDLIST must have been set to the binary package name and word list file name, respectively.
106         dh_testdir
107         dh_testroot
108         dh_installdirs --package=$(PKG)
109
110         dh_install --package=$(PKG) $(WORDLIST) usr/share/dict
111
112         dh_installdocs --package=$(PKG) $(PKG).scowl-word-lists-used debian/README.Debian
113
114         sed "s/WORDLIST/$(WORDLIST)/g" < debian/wordlist_manpage_template > $(WORDLIST).5
115         dh_installman --package=$(PKG) $(WORDLIST).5
116
117
118 .PHONY: install-wamerican
119 install-wamerican: build-stamp
120          $(MAKE) -f debian/rules PKG=wamerican WORDLIST=american-english install-wordlist
121
122 .PHONY: install-wamerican-small
123 install-wamerican-small: build-stamp
124          $(MAKE) -f debian/rules PKG=wamerican-small WORDLIST=american-english-small install-wordlist
125
126 .PHONY: install-wamerican-large
127 install-wamerican-large: build-stamp
128          $(MAKE) -f debian/rules PKG=wamerican-large WORDLIST=american-english-large install-wordlist
129
130 .PHONY: install-wamerican-huge
131 install-wamerican-huge: build-stamp
132          $(MAKE) -f debian/rules PKG=wamerican-huge WORDLIST=american-english-huge install-wordlist
133
134
135 .PHONY: install-wbritish
136 install-wbritish: build-stamp
137          $(MAKE) -f debian/rules PKG=wbritish WORDLIST=british-english install-wordlist
138
139 .PHONY: install-wbritish-small
140 install-wbritish-small: build-stamp
141          $(MAKE) -f debian/rules PKG=wbritish-small WORDLIST=british-english-small install-wordlist
142
143 .PHONY: install-wbritish-large
144 install-wbritish-large: build-stamp
145          $(MAKE) -f debian/rules PKG=wbritish-large WORDLIST=british-english-large install-wordlist
146
147 .PHONY: install-wbritish-huge
148 install-wbritish-huge: build-stamp
149          $(MAKE) -f debian/rules PKG=wbritish-huge WORDLIST=british-english-huge install-wordlist
150
151
152 .PHONY: install-wcanadian
153 install-wcanadian: build-stamp
154          $(MAKE) -f debian/rules PKG=wcanadian WORDLIST=canadian-english install-wordlist
155
156 .PHONY: install-wcanadian-small
157 install-wcanadian-small: build-stamp
158          $(MAKE) -f debian/rules PKG=wcanadian-small WORDLIST=canadian-english-small install-wordlist
159
160 .PHONY: install-wcanadian-large
161 install-wcanadian-large: build-stamp
162          $(MAKE) -f debian/rules PKG=wcanadian-large WORDLIST=canadian-english-large install-wordlist
163
164 .PHONY: install-wcanadian-huge
165 install-wcanadian-huge: build-stamp
166          $(MAKE) -f debian/rules PKG=wcanadian-huge WORDLIST=canadian-english-huge install-wordlist
167
168
169
170 # This single target is used to build all the packages, all at once, or
171 # one at a time. So keep in mind: any options passed to commands here will
172 # affect _all_ packages. Anything you want to only affect one package
173 # should be put in another target, such as the install target.
174 binary-common:
175         dh_testdir
176         dh_testroot
177         dh_installchangelogs
178 #       dh_installdocs    # moved to the install targets, because it doesn't DWIM with "-A -p scowl README"
179 #       dh_installexamples
180 #       dh_installmenu
181 #       dh_installdebconf
182 #       dh_installlogrotate
183 #       dh_installemacsen
184 #       dh_installcatalogs
185 #       dh_installpam
186 #       dh_installmime
187 #       dh_installinit
188 #       dh_installman
189 #       dh_installcron
190 #       dh_installinfo
191 #       dh_undocumented
192 #       dh_strip
193         dh_link
194         dh_compress
195         dh_fixperms
196 #       dh_perl
197 #       dh_python
198 #       dh_makeshlibs
199         dh_installdeb
200         dh_shlibdeps
201         dh_gencontrol
202         dh_md5sums
203         dh_builddeb
204
205 # Build architecture independant packages using the common target.
206 binary-indep: build install
207          $(MAKE) -f debian/rules DH_OPTIONS=-i binary-common
208
209 # Build architecture dependant packages using the common target.
210 binary-arch: build install
211 # (Uncomment this next line if you have such packages.)
212 #       $(MAKE) -f debian/rules DH_OPTIONS=-a binary-common
213
214 # Any other binary targets build just one binary package at a time.
215 binary-%: build install
216         make -f debian/rules binary-common DH_OPTIONS=-p$*
217
218 binary: binary-indep binary-arch
219 .PHONY: build clean binary-indep binary-arch binary-common binary install