summaryrefslogtreecommitdiff
path: root/doc/Makefile
blob: e280a539e08b25d768197d6d31227c02769f5235 (plain)
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
### settings ###
CORPUSDIR:=../corpus
STATSDIR:=..
WIKIEXTRACTOR:=../3rdparty/wikiextractor/WikiExtractor.py
OPTROUNDS=100000
# pin layers, keep hand-optimized numbers, keep top row free
OPTPINS='0;1;2;0,Bl1;0,Bl2;0,Bl3;0,Bl4;0,Bl5;0,Bl6;0,Bl7;0,Br6;0,Br5;0,Br4;0,Br3;0,Br2;0,Br1;3,Cl4;3,Cl3;3,Cl2;3,Cl1;3,Dl4;3,Dl3;3,Dl2;3,Dl1;3,El5;3,El4;3,El3;3,El2;3,Dl5;3,Cl5;3,El6'
OPTMODEL=mod01

all: ar-lulua.xmodmap ar-lulua.svg ar-asmo663.svg ar-linux.svg ar-malas.svg ar-phonetic.svg ar-osman.svg letterfreq.json ar-khorshid.svg

letterfreq.json: ../stats.pickle
	lulua-analyze -l ar-lulua letterfreq < $< > $@

ar-lulua.xmodmap:
	lulua-render xmodmap -l ar-lulua $@

ar-lulua.svg:
	lulua-render svg -l ar-lulua $@

ar-asmo663.svg:
	lulua-render svg -l ar-asmo663 $@

ar-linux.svg:
	lulua-render svg -l ar-linux $@

ar-malas.svg:
	lulua-render svg -l ar-malas $@

ar-phonetic.svg:
	lulua-render svg -l ar-phonetic $@

ar-osman.svg:
	lulua-render svg -l ar-osman $@

ar-khorshid.svg:
	lulua-render svg -l ar-khorshid $@

### corpora to stats ###
# Sorry, but I can’t provide corpus data due to copyright issues
$(STATSDIR)/stats-bbcarabic.pickle: $(CORPUSDIR)/bbcarabic/raw
	time find $< -type f | lulua-write bbcarabic ar-lulua > $@

$(STATSDIR)/stats-aljazeera.pickle: $(CORPUSDIR)/aljazeera/raw
	time find $< -type f | lulua-write aljazeera ar-lulua > $@

$(STATSDIR)/stats-tanzil.pickle: $(CORPUSDIR)/tanzil-quaran/plain.txt.lz
	echo $< | lulua-write text ar-lulua | lulua-combine-stats > $@

$(STATSDIR)/stats-arwiki.pickle: $(CORPUSDIR)/arwiki/arwiki-20190701-pages-articles.xml.bz2
	$(WIKIEXTRACTOR) -ns 0 --json -o - $< 2>/dev/null | jq .text | lulua-write json ar-lulua | lulua-combine-stats > $@

$(STATSDIR)/stats.pickle: $(STATSDIR)/stats-arwiki.pickle \
		$(STATSDIR)/stats-tanzil.pickle $(STATSDIR)/stats-aljazeera.pickle \
		$(STATSDIR)/stats-bbcarabic.pickle
	cat $^ | lulua-combine-stats > $@

### optimization ###
optimized.yaml: $(STATSDIR)/stats.pickle
	lulua-optimize -n $(OPTROUNDS) -r -p $(OPTPINS) -l ar-lulua -m $(OPTMODEL) < $< > $@