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.
8 # Uncomment this to turn on verbose mode.
11 # This has to be exported to make some magic below work.
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
24 # These are the scowl word list classes we use:
25 CLASSES:=words proper-names upper contractions
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;\
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;\
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;\
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;\
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;\
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
93 install-scowl: PKG=scowl
97 dh_installdirs --package=$(PKG)
99 dh_install --package=$(PKG) final/*.[0-9][0-9] usr/share/dict/scowl
100 dh_installdocs --package=$(PKG) README debian/README.Debian
103 .PHONY: install-wordlist
105 # PKG and WORDLIST must have been set to the binary package name and word list file name, respectively.
108 dh_installdirs --package=$(PKG)
110 dh_install --package=$(PKG) $(WORDLIST) usr/share/dict
112 dh_installdocs --package=$(PKG) $(PKG).scowl-word-lists-used debian/README.Debian
114 sed "s/WORDLIST/$(WORDLIST)/g" < debian/wordlist_manpage_template > $(WORDLIST).5
115 dh_installman --package=$(PKG) $(WORDLIST).5
118 .PHONY: install-wamerican
119 install-wamerican: build-stamp
120 $(MAKE) -f debian/rules PKG=wamerican WORDLIST=american-english install-wordlist
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
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
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
135 .PHONY: install-wbritish
136 install-wbritish: build-stamp
137 $(MAKE) -f debian/rules PKG=wbritish WORDLIST=british-english install-wordlist
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
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
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
152 .PHONY: install-wcanadian
153 install-wcanadian: build-stamp
154 $(MAKE) -f debian/rules PKG=wcanadian WORDLIST=canadian-english install-wordlist
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
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
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
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.
178 # dh_installdocs # moved to the install targets, because it doesn't DWIM with "-A -p scowl README"
182 # dh_installlogrotate
205 # Build architecture independant packages using the common target.
206 binary-indep: build install
207 $(MAKE) -f debian/rules DH_OPTIONS=-i binary-common
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
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$*
218 binary: binary-indep binary-arch
219 .PHONY: build clean binary-indep binary-arch binary-common binary install