forked from synhershko/hspell
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Makefile.in
450 lines (401 loc) · 18.6 KB
/
Makefile.in
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
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
# Hspell Makefile
# Copyright (C) 2002-2009 Nadav Har'El and Dan Kenigsberg
# A comment about parallel make:
# Unfortunately, parallel make deals with rules with multiple targets in a way
# I can only describe as "useless". If one rule has multiple targets, and
# more than one of them appear as dependencies in other rules, parallel make
# may run the rule more than once concurrently! To work around this problem,
# we need to change every rule of the form:
# a b c:
# ... create a b and c
# to the form:
# a:
# ... create a b and c
# b c: a
# Now, the real rule will be run just once, because a will be created just
# once. This workaround is used several times in the Makefile below.
# Locale override:
# Some of the things we do here (like sort), and Perl scripts we run can be
# distracted by the user's locale setting, which are irrelevant (Hspell's
# source and data are all in ISO-8859-8, and that has nothing to do with the
# builder's choice of locale). So we need to override them. The best would
# have been to do:
# export LANG=C
# export LC_ALL=C
# But the "export" directive is only supported by Gnu make, so let's instead
# redfine all the relevant LC_* variables the user might have set... Note that
# the following only modified environment variables that were already exported
# by the user - which is actually ok (but this makes us have to set all these
# different variables).
LANG=C
LC_ALL=C
LC_CTYPE=C
LC_COLLATE=C
@SET_MAKE@
# build and installation paths
prefix = @prefix@
exec_prefix = @exec_prefix@
datarootdir = @datarootdir@
DESTDIR =
PREFIX = @prefix@
BIN = @bindir@
SHARE = @datadir@/hspell
LIBEXEC = @libexecdir@/hspell
MAN1 = @mandir@/man1
MAN3 = @mandir@/man3
LIBDIR = @libdir@
INCLUDEDIR = @includedir@
DICTBASE = @DICTBASE@
PERL=@PERL@
CC=@CC@
DEFS=@DEFS@ -DDICTIONARY_BASE=\"$(DICTBASE)\"
CFLAGS=@CFLAGS@
LIBS=@LIBS@
CPPFLAGS=@CPPFLAGS@
LDFLAGS=@LDFLAGS@
STRIP=strip
.c.o:
$(CC) -c $(CFLAGS) $(CPPFLAGS) $(DEFS) $<
# Our TARGETS variable chooses what to compile. Some things are
# optionally compiled depending on --enable-* paramters to configure.
TARGETS = @TARGETS@
all: $(TARGETS)
# SEDCMD controls on whether objective-kinuyim - about 130,000 rare verb
# forms - are left during build or removed. It is set to the appropriate
# strings when "configure" is run (depending on whether --enable-fatverb
# is given).
SEDCMD=@SEDCMD@
# EXTRAOBJECTS - for --enable-linginfo
EXTRAOBJECTS=@EXTRAOBJECTS@
clean:
rm -f out.nouns out.verbs out.nouns-shemp hspell.pl_full \
hspell.pl_wzip wunzip wordlist.wgz shemp.dat \
corlist.o dict_radix.o find_sizes.o gimatria.o \
hspell.o tclHash.o hebrew.wgz hebrew.wgz.sizes \
hebrew.wgz.prefixes dout.nouns.shemp.gz shemp.dat \
dout.nouns.wolig.gz dout.verbs.gz hspell find_sizes \
prefixes.c libhspell.o libhspell.a hspell.exe \
hebrew.wgz.desc hebrew.wgz.stems he_affix.dat \
he.wl mk_he_affix linginfo.o mk_he_affix.o \
hebrew.wgz.lingsizes.tmp dmask.c install.js \
spell-he.xpi he.dic he.aff README-he.txt \
README_he_IL.txt he_IL.dic he_IL.aff he_IL.zip \
specfilter.o specfilter
rm -f hebeng/install.js hebeng/heb-eng.aff hebeng/heb-eng.dic \
hebeng/README-he.txt hebeng/README-en-US.txt \
hebeng/spell-heb-eng.xpi
-rmdir hebeng
rm -f hunspell/he.aff hunspell/he.dic hunspell/new_he.aff \
hunspell/new_he.dic hunspell/num_he.aff hunspell/num_he.dic \
hunspell/word hunspell/word2 hunspell/affixcompress[0123].tmp
-rmdir hunspell
rm -f ff2/dictionaries/he.aff ff2/dictionaries/he.dic \
ff2/dictionaries/license.txt ff2/dictionaries/README-he.txt \
ff2/install.js ff2/install.rdf ff2/spell-he-$(VERSION).xpi
-rmdir ff2/dictionaries ff2
distclean: clean
rm -f Makefile config.log config.status
# On Windows, this would typically be set to hspell.exe
HSPELL_EXECUTABLE=hspell
install: all
test -d $(DESTDIR)$(BIN) || mkdir -m 755 -p $(DESTDIR)$(BIN)
$(STRIP) $(HSPELL_EXECUTABLE)
-rm -f $(DESTDIR)$(BIN)/$(HSPELL_EXECUTABLE)
cp $(HSPELL_EXECUTABLE) $(DESTDIR)$(BIN)/$(HSPELL_EXECUTABLE)
chmod 755 $(DESTDIR)$(BIN)/$(HSPELL_EXECUTABLE)
cp multispell $(DESTDIR)$(BIN)/multispell
chmod 755 $(DESTDIR)$(BIN)/multispell
test -d $(DESTDIR)$(SHARE) || mkdir -m 755 -p $(DESTDIR)$(SHARE)
cp hebrew.wgz hebrew.wgz.prefixes hebrew.wgz.sizes $(DESTDIR)$(SHARE)/
gzip -9n < spellinghints > $(DESTDIR)$(SHARE)/hebrew.wgz.hints
(cd $(DESTDIR)$(SHARE); chmod 644 hebrew.wgz hebrew.wgz.prefixes hebrew.wgz.sizes hebrew.wgz.hints)
test ! -f hebrew.wgz.stems || cp hebrew.wgz.stems hebrew.wgz.desc $(DESTDIR)$(SHARE)/
(cd $(DESTDIR)$(SHARE); test ! -f hebrew.wgz.stems || chmod 644 hebrew.wgz.stems hebrew.wgz.desc)
-rm -f $(DESTDIR)$(BIN)/hspell-i
-ln -s $(HSPELL_EXECUTABLE) $(DESTDIR)$(BIN)/hspell-i
test -d $(DESTDIR)$(MAN1) || mkdir -m 755 -p $(DESTDIR)$(MAN1)
cp hspell.1 $(DESTDIR)$(MAN1)/
chmod 644 $(DESTDIR)$(MAN1)/hspell.1
test -d $(DESTDIR)$(MAN3) || mkdir -m 755 -p $(DESTDIR)$(MAN3)
cp hspell.3 $(DESTDIR)$(MAN3)/
chmod 644 $(DESTDIR)$(MAN3)/hspell.3
test -d $(DESTDIR)$(LIBDIR) || mkdir -m 755 -p $(DESTDIR)$(LIBDIR)
cp libhspell.a $(DESTDIR)$(LIBDIR)/
chmod 644 $(DESTDIR)$(LIBDIR)/libhspell.a
test -d $(DESTDIR)$(INCLUDEDIR) || mkdir -m 755 -p $(DESTDIR)$(INCLUDEDIR)
cp hspell.h linginfo.h $(DESTDIR)$(INCLUDEDIR)/
chmod 644 $(DESTDIR)$(INCLUDEDIR)/hspell.h $(DESTDIR)$(INCLUDEDIR)/linginfo.h
################################################
# for creating an hspell distribution tar
PACKAGE = hspell
VERSION = 1.2alpha
DISTFILES = COPYING INSTALL LICENSE README WHATSNEW \
Makefile.in stats wunzip.c wzip \
hspell.1 \
wolig.pl wolig.dat biza-nouns milot extrawords \
woo woo.dat biza-verbs \
likelyerrors spellinghints \
corlist.c dict_radix.c \
dict_radix.h find_sizes.c gimatria.c hspell.c \
hspell.h libhspell.c gzbuffered.h \
pmerge PrefixBits.pl genprefixes.pl \
hash.h tclHash.c tclHash.h \
binarize-desc.pl pack-desc.pl linginfo.c linginfo.h \
multispell hspell.3 mk_he_affix.c configure.in configure \
misc/install.js.pre specfilter.c \
misc/ff2-install.js.pre misc/ff2-install.rdf.pre \
doc/niqqudless.odt misc/doubleaffixcompress
DISTDIR = $(PACKAGE)-$(VERSION)
distdir:
rm -rf ./$(DISTDIR)
mkdir -m 755 $(DISTDIR)
cp -a --parents $(DISTFILES) $(DISTDIR)
#cp -a $(DISTFILES) $(DISTDIR)
# Note that Oron Peled suggested a more eleborate version that makes hard
# links instead of copies:
# for file in $(DISTFILES); do \
# if test -d $$file; then \
# cp -pr $$file $(distdir)/$$file; \
# else \
# test -f $(distdir)/$$file \
# || ln $$file $(distdir)/$$file 2> /dev/null \
# || cp -p $$file $(distdir)/$$file || :; \
# fi; \
# done
dist: distdir
tar zcvf $(DISTDIR).tar.gz $(DISTDIR)
rm -rf ./$(DISTDIR)
############################################################################
libhspell.a: dict_radix.o gimatria.o corlist.o libhspell.o $(EXTRAOBJECTS)
-rm -f $@
ar cr $@ $^
-ranlib $@
$(HSPELL_EXECUTABLE): hspell.o tclHash.o libhspell.a
$(CC) $(CFLAGS) $(LDFLAGS) -o $(HSPELL_EXECUTABLE) hspell.o tclHash.o libhspell.a $(LIBS)
# remember to update this dependency list once in a while...
libhspell.o dict_radix.o find_sizes.o: dict_radix.h
dict_radix.o linginfo.o: gzbuffered.h
libhspell.o mk_he_affix.o: prefixes.c
hspell.o: hash.h tclHash.h
tclHash.o: tclHash.h
corlist.o gimatria.o hspell.o libhspell.o: hspell.h
hspell.o libhspell.o linginfo.o: linginfo.h hspell.h
linginfo.o: dmask.c
specfilter.o: prefixes.c
prefixes.c: genprefixes.pl PrefixBits.pl
$(PERL) -w ./genprefixes.pl >prefixes.c
find_sizes: find_sizes.o dict_radix.o
$(CC) $(CFLAGS) $(LDFLAGS) -o find_sizes find_sizes.o dict_radix.o $(LIBS)
GZDICTS= dout.nouns.wolig.gz dout.verbs.gz dout.nouns.shemp.gz
DICTS=milot extrawords biza-verbs biza-nouns
# hebrew.wgz contains all the words without any prefix hints like B,L,+ we
# previously had.
# hebrew.wgz.prefixes is the prefix hints (one byte per word, compressed).
# hebrew.wgz.sizes contains the memory sizes that reading hebrew.wgz will
# require (this makes it easier for hspell to preallocate the needed sizes).
hebrew.wgz: pmerge PrefixBits.pl $(DICTS) $(GZDICTS)
(gzip -dc $(GZDICTS); cat $(DICTS)) | ./pmerge -p hebrew.wgz.tmp | ./wzip | gzip -9n > hebrew.wgz
-rm -f hebrew.wgz.prefixes
gzip -9n < hebrew.wgz.tmp >hebrew.wgz.prefixes
-rm -f hebrew.wgz.tmp
hebrew.wgz.prefixes: hebrew.wgz
hebrew.wgz.sizes: hebrew.wgz find_sizes
gzip -dc hebrew.wgz | ./find_sizes >hebrew.wgz.sizes
###################################### optional linginfo stuff ##############
dolinginfo: linginfo_data $(HSPELL_EXECUTABLE)
# hebrew.wgz contains all the words without any prefix hints like B,L,+ we
# previously had.
# hebrew.wgz.prefixes is the prefix hints (one byte per word, compressed).
# hebrew.wgz.sizes contains the memory sizes that reading hebrew.wgz will
# require (this makes it easier for hspell to preallocate the needed sizes).
# dmask.c contains an array of all possible values of the description bitmask.
# It is generated by pack-desc.pl. This array is not too long (no more than
# 300 for the default dictionary).
#
# In the following long rule, the complete list of all words with linguistic
# details is concatanated and sent to binarize-desc.pl, which converts the
# detailed information of each word into bitmap (called dmask), produces a
# specifier that tells which prefixes are accepted with the word, and writes its
# stem. Then the words list is sorted, packed (a-la uniq), and the output files
# are written.
#
# OLD NOTE/TODO:
# The "linginfo_data:" target line below is ugly and un-make-like. Not only
# that, it doesn't know when it's necessary to build the files again, and
# when it is not. The better make targets (hebrew.wgz et al. and
# hebrew.wgz.sizes) are commented out because the same targets were used above
# for building the version without linginfo. When building with linginfo
# becomes the default, we should remove the following line and uncomment the
# real targets.
# TODO: make pack-desc.pl/binarize-desc.pl and pmerge into just one script
# (with options on whether to generate stems, etc.), and then we won't have
# this ugliness of two different rules generating hebrew.wgz in two ways
# (this is not only ugly, it's unsafe. If we use linginfo (--enable-linginfo
# and change, say, "extrawords", and run "make hebrew.wgz" we will get the
# wrong program run. "make" will work properly because we stick an extra
# target in front of the default targets.
linginfo_data: hebrew.wgz.stems
hebrew.wgz.stems: binarize-desc.pl PrefixBits.pl pack-desc.pl $(DICTS) $(GZDICTS) find_sizes
(gzip -dc $(GZDICTS); cat $(DICTS)) | $(PERL) binarize-desc.pl | \
sort -u | $(PERL) pack-desc.pl -p hebrew.wgz.prefixes.tmp \
-d hebrew.wgz.desc.tmp -s hebrew.wgz.stems.tmp \
-l hebrew.wgz.lingsizes.tmp | \
./wzip | gzip -9n > hebrew.wgz
gzip -dc hebrew.wgz | ./find_sizes >hebrew.wgz.sizes
cat hebrew.wgz.lingsizes.tmp >> hebrew.wgz.sizes
-rm -f hebrew.wgz.lingsizes.tmp
-rm -f hebrew.wgz.prefixes
gzip -9n < hebrew.wgz.prefixes.tmp >hebrew.wgz.prefixes
-rm -f hebrew.wgz.prefixes.tmp
-rm -f hebrew.wgz.desc
gzip -9n < hebrew.wgz.desc.tmp >hebrew.wgz.desc
-rm -f hebrew.wgz.desc.tmp
-rm -f hebrew.wgz.stems
gzip -9n < hebrew.wgz.stems.tmp >hebrew.wgz.stems
-rm -f hebrew.wgz.stems.tmp
hebrew.wgz.desc hebrew.wgz.lingsizes.tmp dmask.c: hebrew.wgz.stems
############################################################################
# dout.* are the outputs from the various word-list generators with the
# -d option (i.e., with an explanation on how each word was derived)
#
# The dout files are quite large, as much as 10MB. To lower the amount
# of temporary space needed during compilation (is this necessary nowadays?)
# we compress them.
dout.nouns.%: %.dat wolig.pl
$(PERL) -w wolig.pl -d $< > $@
dout.nouns.%.gz: %.dat wolig.pl
$(PERL) -w wolig.pl -d $< | gzip -4 > $@
dout.nouns.shemp.gz: shemp.dat wolig.pl
$(PERL) -w wolig.pl -d shemp.dat | gzip -4 > $@
dout.verbs.gz: woo woo.dat
$(PERL) -w woo -d woo.dat | sed "$(SEDCMD)" | gzip -4 > $@
shemp.dat: dout.verbs.gz
############################################################################
# The following targets build packages of Hspell's word list in formats
# required for other spell-checkers like Aspell and Myspell. They are not
# necessary for building the native Hspell spell-checker.
############################################################################
# The "he_affix.dat" and "he.wl" files are the two files basic files which
# form an Aspell 0.6 dictionary. The dictionary formats of myspell and
# hunspell, and products using them (such as firefox and openoffice) are
# just various modifications on top of these two basic files:
he.wl: mk_he_affix wunzip hebrew.wgz hebrew.wgz.prefixes specfilter
./mk_he_affix > he.wl
he_affix.dat: he.wl
mk_he_affix.o: prefixes.c hspell.h
# The "aspell" target generates "he_affix.dat" and "he.wl".
aspell: he_affix.dat he.wl
# The "myspell" target generates the "he.dic" and "he.aff" files needed
# for using Hspell's Hebrew word list in myspell. Myspell is the spell-
# checking library used in both Mozilla and OpenOffice, and its format is
# very similar to the uncompressed aspell dictionary format.
#myspell: he.dic he.aff
#he.dic: he_affix.dat he.wl
# cat he.wl | wc -l > he.dic
# cat he.wl >> he.dic
# echo SET ISO8859-8 > he.aff
# echo TRY éåäàòçë÷\'\"ùñæãâáøðîèöúôíóêõïì >> he.aff
# cat he_affix.dat >> he.aff
#he.aff: he.dic
# For some unknown reason, hunspell is 10 times faster (!) to load a
# UTF-8 dictionary than ISO8859-8 (on one machine, 3.28 seconds vs 0.35).
# So we use UTF-8 instead, despite this resulting file being twice the
# size. Luckily, the memory use is not affected at all.
myspell: he.dic he.aff
he.dic: he_affix.dat he.wl
wc -l < he.wl > he.dic
iconv -f iso-8859-8 -t utf-8 he.wl >> he.dic
echo SET UTF-8 > he.aff
echo TRY éåäàòçë÷\'\"ùñæãâáøðîèöúôíóêõïì | iconv -f iso-8859-8 -t utf-8 >> he.aff
iconv -f iso-8859-8 -t utf-8 he_affix.dat >> he.aff
he.aff: he.dic
# The "hunspell" target generates hunspell/new_he.aff, hunspell/new_he.dic.
# Hunspell is a newer format, based on myspell but with the addition of
# secondary affix compression which allows smaller dictionaries, memory use
# and startup times.
hunspell: hunspell/new_he.dic
hunspell/new_he.dic: myspell
test -d hunspell || mkdir hunspell
(cd hunspell; ln -sf ../he.aff ../he.dic .; LC_ALL=he_IL.UTF-8 ../misc/doubleaffixcompress he)
echo WORDCHARS àáâãäåæçèéëìîðñòôö÷øùúíïêóõ\'\" | iconv -f iso-8859-8 -t utf-8 >> hunspell/new_he.aff
echo -e "BREAK 3\nBREAK ^\"\nBREAK \"$$\nBREAK ^'" >> hunspell/new_he.aff
# The "mozilla" target generates a ".xpi" file, which is basically a zip
# file containing the dictionaries in Myspell format (similar to the
# uncompressed aspell dictionary format).
mozilla: spell-he.xpi
spell-he.xpi: he.dic he.aff install.js README
rm -f README-he.txt spell-he.xpi
cp README README-he.txt
zip spell-he.xpi install.js README-he.txt he.aff he.dic
install.js: misc/install.js.pre
sed "s/%VERSION%/$(VERSION)/g; s/%DISPLAY_NAME%/Hebrew (IL) dictionary/g; s/%APP_NAME%/spell-he/g" < misc/install.js.pre > install.js
# A similar target, for newer Firefox
ff2: ff2/spell-he-$(VERSION).xpi
ff2/spell-he-$(VERSION).xpi: he.dic he.aff ff2/install.js ff2/install.rdf README
mkdir -p ff2/dictionaries
ln README ff2/dictionaries/README-he.txt
ln COPYING ff2/dictionaries/license.txt
ln he.dic he.aff ff2/dictionaries
( cd ff2; zip spell-he-$(VERSION).xpi install.js install.rdf \
dictionaries/{README-he.txt,license.txt,he.aff,he.dic} )
ff2/install.js: misc/ff2-install.js.pre
mkdir -p ff2
sed "s/%VERSION%/$(VERSION)/g" < misc/ff2-install.js.pre > ff2/install.js
ff2/install.rdf: misc/ff2-install.rdf.pre
mkdir -p ff2
sed "s/%VERSION%/$(VERSION)/g" < misc/ff2-install.rdf.pre > ff2/install.rdf
# The "heb-eng-xpi" target generates, like the "mozilla" target, an xpi
# file. But instead of taking only the Hebrew word list, it merges our
# Hebrew word list with another English word list. This is useful in software
# (like Mozilla) which doesn't support multiple dictionaries at the same time,
# but a typical user still wants to check mixed-language documents.
hebeng:
mkdir hebeng
en-US.dic en-US.aff README-en-US.txt:
echo \*\*\* Please link to the english dictionary files $@
false
hebeng/install.js: hebeng misc/install.js.pre
sed "s/%VERSION%/$(VERSION)/g; s/%DISPLAY_NAME%/Hebrew-English combined dictionary/g; s/%APP_NAME%/spell-heb-eng/g; s/he\.dic/heb-eng.dic/; s/he\.aff/heb-eng.aff/; /var myspell_folder/s/$$/addFile(APP_NAME, \"README-en-US.txt\", myspell_folder, \"\")\;/" < misc/install.js.pre > hebeng/install.js
hebeng/heb-eng.aff: he.aff en-US.aff
echo SET ISO8859-8 >hebeng/heb-eng.aff
echo TRY esianrtolcdugmphbyfvkwzESIANRTOLCDUGMPHBYFVKWZéåäàòçë÷\'\"ùñæãâáøðîèöúôíóêõïì >> hebeng/heb-eng.aff
tail +3 en-US.aff >> hebeng/heb-eng.aff
tail +3 he.aff >> hebeng/heb-eng.aff
hebeng/heb-eng.dic: he.dic en-US.dic
cat he.dic en-US.dic | wc -l > hebeng/heb-eng.dic
tail +2 en-US.dic >> hebeng/heb-eng.dic
tail +2 he.dic >> hebeng/heb-eng.dic
heb-eng-xpi: hebeng hebeng/heb-eng.dic hebeng/heb-eng.aff hebeng/install.js README README-en-US.txt
(cd hebeng;\
rm -f README-he.txt spell-heb-eng.xpi ;\
cp ../README README-he.txt;\
cp ../README-en-US.txt . ;\
zip spell-heb-eng.xpi install.js README-he.txt README-en-US.txt heb-eng.aff heb-eng.dic)
#
# The openoffice target generates a .zip file, which contains the files
# that need to be installed in OpenOffice's dictionary directory (e.g.,
# /usr/lib/ooo-1.1/share/dict/ooo/). Additionally, you'll need to add the
# line "DICT he IL he_IL" to the dictionary.lst file in that directory
# (for performance, you may want to remove from that list dictionaries in
# irrelevant languages). The zip itself can be used by DicOOo, OpenOffice's
# automatic dictionary-fetching macro. But you don't need to compile Hspell
# yourself if you plan to do that.
openoffice: he_IL.zip
he_IL.zip: he_IL.dic he_IL.aff README_he_IL.txt
rm -f he_IL.zip
zip he_IL.zip he_IL.dic he_IL.aff README_he_IL.txt
# note: zip dereferences symbolic links, so those are enough.
he_IL.dic: he.dic
ln -s he.dic he_IL.dic
he_IL.aff: he.aff
ln -s he.aff he_IL.aff
README_he_IL.txt:
echo "This Hebrew dictionary in Myspell format was generated automatically from" >README_he_IL.txt
echo "data prepared by the Hspell project:" >>README_he_IL.txt
echo >>README_he_IL.txt
echo " http://ivrix.org.il/projects/spell-checker" >>README_he_IL.txt
echo >>README_he_IL.txt
echo "Hspell version $(VERSION) was used." >>README_he_IL.txt
echo >>README_he_IL.txt
echo "This dictionary is Copyright (C) 2000-2009, Nadav Har'El and Dan Kenigsberg." >>README_he_IL.txt
echo "It is licensed under the GNU General Public License (GPL)." >>README_he_IL.txt