]> git.donarmstrong.com Git - deb_pkgs/scowl.git/blob - Makefile
Merge tag 'upstream/2015.08.24'
[deb_pkgs/scowl.git] / Makefile
1 #
2 # Make dam sure that the locale is set to C
3 #
4
5 LANG=C
6 LC_ALL=C
7 LC_CTYPE=C
8 LC_COLLATE=C
9 export LANG LC_ALL LC_CTYPE LC_COLLATE
10
11 #
12 # Special targets
13 #
14
15 levels := $(shell cat l/levels-list 2> /dev/null)
16
17 programs := src/deaccent src/find-accented
18
19 .PHONY: all
20 all: $(foreach l, $(levels), final/english-words.$(l)) \
21   final/special-roman-numerals.35 final/special-hacker.50 \
22   README
23
24 .PHONY: clean
25 clean:
26         rm -f working/* $(programs) r/varcon/*.lst r/varcon/variant.tab r/mwords/*.lst r/alt12dicts/*.lst r/ispell/all.* r/pos/word.lst r/uk-freq-class/uk.?? r/census/*.lst debug/* r/special/neol-??.lst
27         make -C speller clean
28
29 #
30 # README
31 #
32
33 README: src/make-README $(foreach l, $(levels), final/english-words.$(l))
34         src/make-README
35
36 #
37 # Actual word list creation
38 #
39
40 working/%.mk: l/levels-list
41         src/make-call-list $*
42
43 make_words = working/words.$(1): $(shell src/make-words-deps $(1)); \
44         src/make-words $(1)
45 -include working/make_words.mk
46 working/words.00:
47         -rm -f working/words.00
48         touch working/words.00
49
50 split_list = $(shell src/list-combin working/ $(1).pre): \
51   $(shell src/split-words-deps $(1)); \
52          src/split-words $(1)
53 $(call split_list,00)
54 -include working/split_list.mk
55
56 make_final = $(shell src/list-combin final/ $(1) ):                        \
57    src/make-final working/with-accents.lst src/add-accents                 \
58    $(shell src/list-combin working/ $(1).pre)                              \
59    $(shell src/list-combin working/ $(shell src/get-level prev $(1)).pre); \
60         src/make-final  $(1)
61 -include working/make_final.mk
62
63 #
64 # Special lists
65 #
66
67 working/all.lst working/all.lst-unfiltered: \
68   src/make-all.lst $(shell find l/supplement/ l/add-affixes/ l/add-possessive -type l)
69         $<
70
71 working/variant_1.lst working/variant_2.lst working/variant_3.lst: \
72   src/make-variant.lst         r/alt12dicts/variant-also.lst \
73   r/alt12dicts/variant-yes.lst r/alt12dicts/variant-maybe.lst \
74   r/infl/variant_0.lst  r/infl/variant_1.lst  r/infl/variant_2.lst \
75   r/varcon/british.lst r/varcon/british_z.lst r/varcon/canadian.lst \
76   r/varcon/w_variant-amer.lst r/varcon/w_variant-nonamer.lst  \
77   r/special/variant_1  r/special/variant_2  r/special/variant_3 \
78   r/special/never-variant
79         touch working/possessive-also.lst
80         $<
81         rm working/possessive-also.lst
82         $(MAKE) working/possessive-also.lst
83         $<
84
85 working/contractions.lst: src/make-contractions.lst working/words.95 working/proper-names.lst working/abbreviations.lst
86         $<
87
88 working/known-upper.lst: src/make-known-upper.lst l/upper/* \
89   src/add-other-spellings r/varcon/voc.tab r/varcon/variant.tab
90         $<
91
92 working/proper-names.lst: src/make-proper-names.lst \
93   working/known-upper.lst l/proper-names/*            \
94   working/all.lst working/abbreviations.lst.pre
95         $<
96
97 working/abbreviations.lst.pre: src/make-abbreviations.lst.pre \
98   src/add-affixes \
99   working/all.lst working/known-upper.lst l/abbreviations/* \
100   r/special/never-abbreviations
101         $<
102
103 working/abbreviations.lst: src/make-abbreviations.lst \
104   working/abbreviations.lst.pre working/proper-names.lst
105         $<
106
107 working/upper.lst: src/make-upper.lst \
108   src/add-affixes working/possessive-also.lst \
109   working/known-upper.lst working/abbreviations.lst
110         $<
111
112 working/possessive-also.lst: src/make-possessive.lst r/special/add-possessive \
113   working/abbreviations.lst.pre working/proper-names.lst
114         $<
115
116 working/with-accents.lst working/without-accents.lst: \
117   src/make-accent-lists src/deaccent src/find-accented l/accented/squashed-accented.lst
118         $<
119
120
121 # Special lists in final
122 #
123
124 final/special-roman-numerals.35: r/special/roman-numerals
125         cp $< $@
126
127 final/special-hacker.50: l/hacker/* r/special/hacker-exclude
128         cat l/hacker/* | sort -u | comm -23 - r/special/hacker-exclude > $@
129
130 #
131 # Modified form of Raw Lists
132 #
133
134 r/mwords/frequent.lst: src/make-frequent.lst r/mwords/10001fr.equ r/mwords/10002fr.equ
135         $<
136
137 r/census/dist.all.last.lst r/census/dist.female.first.lst r/census/dist.male.first.lst: \
138   src/proc-census \
139   r/census/dist.all.last r/census/dist.female.first r/census/dist.male.first
140         $<
141
142 $(foreach b, \
143   02of12 05of12 11of12 abbr not-abbr variant-maybe variant-also variant-yes not-variant,\
144   r/alt12dicts/$(b).lst): src/proc-alt12dicts
145         $<
146
147 r/alt12dicts/3esl.lst: r/alt12dicts/3esl.txt src/clean-alan-list
148         src/clean-alan-list < $< > $@
149
150 r/alt12dicts/2of4brif.lst: r/alt12dicts/2of4brif.txt src/clean-alan-list
151         src/clean-alan-list < $< > $@
152
153 r/alt12dicts/5desk.lst: r/alt12dicts/5desk.txt src/clean-alan-list
154         src/clean-alan-list < $< > $@
155
156 r/alt12dicts/signature.lst: r/alt12dicts/signature.txt src/clean-alan-list
157         src/clean-alan-list < $< > $@
158
159 r/special/neol-50.lst r/special/neol-80.lst: r/special/neol2015.txt
160         src/proc-neol
161
162 #
163 #r/ispell/all.0 r/ispell/all.1: r/ispell/all.%: \
164 #  src/make-ispell-all.lst 
165 #       $< $*
166
167 #$(foreach b, \
168 #  abbreviations acronyms english variant non-american all,\
169 #  r/12dicts/$(b).lst): \
170 #src/proc-12dicts r/12dicts/6of12.txt
171 #       src/proc-12dicts
172
173 r/varcon/american.lst r/varcon/british.lst r/varcon/british_z.lst r/varcon/canadian.lst: \
174   r/varcon/split r/varcon/varcon.txt
175         cd r/varcon; ./split
176
177 r/varcon/w_variant-amer.lst r/varcon/w_variant-nonamer.lst: \
178   r/varcon/split r/varcon/varcon.txt
179         cd r/varcon; ./w_variant
180
181 r/varcon/variant.tab: r/varcon/make-variant r/varcon/varcon.txt r/varcon/variant-also.tab r/varcon/variant-infl.tab
182         cd r/varcon; ./make-variant no-infl
183
184 r/ukacd/deaccented.lst: src/make-ukacd-deaccented.lst \
185   r/ukacd/ukacd17.txt src/deaccent
186         $<
187
188 r/ukacd/squashed.lst: src/make-ukacd-squashed.lst r/ukacd/deaccented.lst
189         $<
190
191 r/ukacd/squashed-accented.lst: \
192   src/make-ukacd-squashed-accented.lst r/ukacd/ukacd17.txt
193         $<
194
195 r/pos/word.lst: r/pos/part-of-speech.txt
196         cat r/pos/part-of-speech.txt | cut -f1 > r/pos/word.lst
197
198 r/uk-freq-class/uk.%: src/proc-uk-freq-class
199         $<
200
201 #
202 # Special programs creation
203 #
204
205 $(programs): src/%: src/%.cc
206         cd src && make $*
207
208 #
209 # Level information
210 #
211
212 l/levels-list: l/levels
213         sed 's/#.*$$//' < l/levels > l/levels-list
214
215 #
216 # Makefiles creation
217 #
218
219 Makefile: l/levels-list
220
221 deps: .symbolic-deps
222 .symbolic-deps: $(shell find l -type d)
223         src/make-symbolic-deps
224 -include .symbolic-deps
225