1 # This Makefile creates German hyphenation patterns in subdirectories
2 # $(TRAD) and $(REFO). The input data is in $(SRCDIR).
4 SRCDIR
= ~
/git
/wortliste
10 LC_ENVVARS
= LC_COLLATE
=de_DE.ISO8859-1 \
11 LC_CTYPE
=de_DE.ISO8859-1
16 DATE
= $(shell date
'+%Y-%m-%d')
19 ICONV
= iconv
-f latin1
-t utf8
24 SORT
= $(LC_ENVVARS
) sort -d \
25 |
$(LC_ENVVARS
) uniq
-i
27 GIT_VERSION
:= `$(CHDIR) $(SRCDIR); \
28 $(GIT) log --pretty=oneline -1 $(WORDLIST) \
30 TRADFILES
= $(TRAD
)/$(TRAD
)-$(DATE
).pat
$(TRAD
)/$(TRAD
)-$(DATE
).
tex
31 REFOFILES
= $(REFO
)/$(REFO
)-$(DATE
).pat
$(REFO
)/$(REFO
)-$(DATE
).
tex
35 all: pattern-trad pattern-refo
37 .PHONY
: pattern-trad pattern-refo
38 pattern-trad
: $(TRADFILES
)
39 pattern-refo
: $(REFOFILES
)
43 .PHONY
: words-trad words-refo
44 words-trad
: $(TRAD
)/words.hyphenated.trad
45 words-refo
: $(REFO
)/words.hyphenated.refo
48 .PHONY
: pre-trad pre-refo
54 $(TRADFILES
) $(TRAD
)/words.hyphenated.trad
: pre-trad
55 $(REFOFILES
) $(REFO
)/words.hyphenated.refo
: pre-refo
58 # GNU make supports creation of multiple targets by a single
59 # invocation of a recipe only for pattern rules, thus we have
60 # to use a `sentinel file' (using `echo' for the time stamp).
63 $(TRAD
)/pattern
.8 $(TRAD
)/pattern.rules
: $(TRAD
)/make-full-pattern-trad
65 $(TRAD
)/make-full-pattern-trad
: $(TRAD
)/words.hyphenated.trad
67 $(SH
) $(SRCDIR
)/make-full-pattern.sh
$(<F
) $(SRCDIR
)/german.tr
70 $(TRAD
)/$(TRAD
)-$(DATE
).pat
: $(TRAD
)/pattern
.8 $(TRAD
)/pattern.rules
71 $(CAT
) $(SRCDIR
)/$(TRAD
).1 \
72 |
$(SED
) -e
"s/@DATE@/$(DATE)/" \
73 -e
"s/@GIT_VERSION@/$(GIT_VERSION)/" > $@
; \
74 $(CAT
) $(TRAD
)/pattern.rules
>> $@
; \
75 $(CAT
) $(SRCDIR
)/$(TRAD
).2 >> $@
; \
76 $(CAT
) $(TRAD
)/pattern
.8 \
78 $(CAT
) $(SRCDIR
)/$(TRAD
).3 >> $@
80 $(REFO
)/pattern
.8 $(REFO
)/pattern.rules
: $(REFO
)/make-full-pattern-refo
82 $(REFO
)/make-full-pattern-refo
: $(REFO
)/words.hyphenated.refo
84 $(SH
) $(SRCDIR
)/make-full-pattern.sh
$(<F
) $(SRCDIR
)/german.tr
87 $(REFO
)/$(REFO
)-$(DATE
).pat
: $(REFO
)/pattern
.8 $(REFO
)/pattern.rules
88 $(CAT
) $(SRCDIR
)/$(REFO
).1 \
89 |
$(SED
) -e
"s/@DATE@/$(DATE)/" \
90 -e
"s/@GIT_VERSION@/$(GIT_VERSION)/" > $@
; \
91 $(CAT
) $(REFO
)/pattern.rules
>> $@
; \
92 $(CAT
) $(SRCDIR
)/$(REFO
).2 >> $@
; \
93 $(CAT
) $(REFO
)/pattern
.8 \
95 $(CAT
) $(SRCDIR
)/$(REFO
).3 >> $@
97 $(TRAD
)/words.hyphenated.trad
: $(SRCDIR
)/$(WORDLIST
)
99 |
$(PERL
) $(SRCDIR
)/extract-tex-trad.pl \
102 $(REFO
)/words.hyphenated.refo
: $(SRCDIR
)/$(WORDLIST
)
104 |
$(PERL
) $(SRCDIR
)/extract-tex-refo.pl \
107 $(TRAD
)/$(TRAD
)-$(DATE
).
tex: $(SRCDIR
)/$(TRAD
).
tex.in
109 |
$(SED
) -e
"s/@DATE@/$(DATE)/" > $@
111 $(REFO
)/$(REFO
)-$(DATE
).
tex: $(SRCDIR
)/$(REFO
).
tex.in
113 |
$(SED
) -e
"s/@DATE@/$(DATE)/" > $@