-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
128 lines (105 loc) · 3.44 KB
/
Makefile
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
# Final usable networks
# XFST=foma make build # create version with foma
# Default xfst
XFST?=foma
ifeq ($(XFST),hfst-xfst)
XFSTCMD:=hfst-xfst -f foma -F
else ifeq ($(XFST),foma)
XFSTCMD:=foma -f
else ifeq ($(XFST),xfst)
XFSTCMD:=xfst -f
endif
build: Grischun.fst GrischunGuessing.fst cgi-bin/data/GrischunGuessing.fst fstbinaries/generator.fst
cgi: cgi-bin/data/crf-morphpos-model cgi-bin/tools/analyse.py cgi-bin/data/generator.fst
world: build cgi
clean:
rm -f fstbinaries/*.fst Grischun.fst GrischunGuessing.fst
Grischun.fst GrischunGuessing.fst : collection-RG.xfst \
fstbinaries/Adverb.fst \
fstbinaries/Adjective.fst fstbinaries/AdjectiveGuessing.fst \
fstbinaries/Noun.fst fstbinaries/NounGuessing.fst \
fstbinaries/Verb.fst fstbinaries/VerbGuessing.fst \
fstbinaries/Numeral.fst fstbinaries/Number.fst \
fstbinaries/OrthoRule.fst \
fstbinaries/Capitalization.fst \
particles/conj.lexc \
particles/interj.lexc \
particles/interpunct.lexc \
particles/letter.lexc \
particles/prep.lexc \
art-pron/art.lexc \
art-pron/pron.lexc
$(XFSTCMD) collection-RG.xfst
# Generator
fstbinaries/generator.fst: generator/generator.xfst Grischun.fst
$(XFSTCMD) $<
# Networks for the major parts of speech
fstbinaries/Adjective.fst fstbinaries/AdjectiveGuessing.fst : adj/adj.xfst \
adj/adj-irr.lexc \
adj/adj-comp-irr.lexc \
wordlists/adj-reg.txt \
wordlists/adj-e.txt \
wordlists/adj-part.txt \
wordlists/adj-inv.txt
$(XFSTCMD) adj/adj.xfst
fstbinaries/Adverb.fst : fstbinaries/Adjective.fst\
adv/adv.xfst \
wordlists/adj-reg.txt \
wordlists/adj-e.txt \
wordlists/adj-inv.txt \
wordlists/adv-short.txt
$(XFSTCMD) adv/adv.xfst
fstbinaries/Noun.fst fstbinaries/NounGuessing.fst : noun/noun.xfst \
noun/noun-irr.lexc \
wordlists/noun-fem.txt \
wordlists/noun-fem-plur.txt \
wordlists/noun-fem-sing.txt \
wordlists/noun-masc.txt \
wordlists/noun-masc-plur.txt \
wordlists/noun-masc-sing.txt \
wordlists/noun-part.txt \
wordlists/noun-proper.txt \
wordlists/noun-proper-giv-fem.txt \
wordlists/noun-proper-giv-masc.txt
$(XFSTCMD) noun/noun.xfst
fstbinaries/Numeral.fst fstbinaries/Number.fst : num/num.xfst
$(XFSTCMD) num/num.xfst
fstbinaries/Verb.fst fstbinaries/VerbGuessing.fst : verb/verb.xfst \
verb/verb-irr.lexc \
verb/verb-vchg.lexc \
verb/verb-ar-esch-end.lexc \
verb/verb-ar-end.lexc \
verb/verb-er-esch-end.lexc \
verb/verb-er-end.lexc \
verb/verb-ir-esch-end.lexc \
verb/verb-ir-end.lexc \
verb/verb-part-irr.lexc \
wordlists/verb-air-esch.txt \
wordlists/verb-air.txt \
wordlists/verb-ar-esch.txt \
wordlists/verb-ar.txt \
wordlists/verb-er-esch.txt \
wordlists/verb-er.txt \
wordlists/verb-er2.txt \
wordlists/verb-ir-esch.txt \
wordlists/verb-ir.txt
$(XFSTCMD) verb/verb.xfst
# Orthography
fstbinaries/Capitalization.fst fstbinaries/OrthoRule.fst : spelling/ortho-rule.xfst
$(XFSTCMD) spelling/ortho-rule.xfst
# cgi-bin
cgi-bin/data/GrischunGuessing.fst: GrischunGuessing.fst
ln -f $< $@
cgi-bin/data/crf-morphpos-model:crf-morphological-analyzer/train/trainall.txt.mod
ln -f $< $@
cgi-bin/tools/analyse.py:crf-morphological-analyzer/lib/analyse.py
mkdir -p $(@D) && ln -f $< $@
cgi-bin/data/generator.fst: fstbinaries/generator.fst
ln -f $< $@
crf-morphological-analyzer/train/trainall.txt.mod:
cd crf-morphological-analyzer && make final
# html docs
html: www/documentation.html
www/documentation.html: docs/documentation.md
pandoc -f markdown_github --self-contained --css=docs/css/GitHub.css -t html $< > $@
include test.mk