blob: c88acae1ef1e52fd902ad590393bc1863c8698cb (
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
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
|
# This Makefile updates the source and documentation for the
# babel-greek LateX package
#
# © 2019 Günter Milde
#
# SRCDIR (and the other variables) can be easily modified as parameters
# while calling `make', e.g.
#
# make install SRCDIR=~/texmf/tex/latex/
# Global variables
# =================
# for installation into a users local texmf tree
DESTDIR = ~/texmf/tex/latex/greek/babel-greek
DOCDIR = ~/texmf/doc/latex/greek/babel-greek
CHDIR = cd
COPY = cp --update
SH = sh
# programs
PYLIT = pylit # text <-> source converter for literal programming
RST2HTML = rst2html5 # text -> HTML converter, see docutils.sf.net
RUBBER = rubber --force --pdf # latex-wrapper running until refs are resolved
LATEX = pdflatex -interaction batchmode # suppress logging to terminal
.PHONY: all
all: packages doc test
# LaTeX source files
# ==================
.PHONY: packages
packages: greek.ldf athnum.sty grmath.sty
greek.ldf: babel-greek.dtx
tex babel-greek.ins
athnum.sty: athnum.dtx
tex babel-greek.ins
grmath.sty: athnum.dtx
tex babel-greek.ins
# Documentation
# =============
.PHONY: doc html pdf test
doc: html pdf
html: babel-greek-doc.html
babel-greek-doc.html: babel-greek-doc.rst
$(RST2HTML) babel-greek-doc.rst babel-greek-doc.html
pdf: babel-greek.pdf athnum.pdf grmath.pdf usage.pdf
test: test-greek.pdf test-greek-tu.pdf test-greek-8bitcompat.pdf \
test-greek-ini.pdf \
test-lgr-fixes.pdf test-case-changing.pdf\
test-greeknum.pdf test-greeknum-tu.pdf \
test-athnum.pdf test-athnum-tu.pdf
babel-greek.pdf: babel-greek.dtx
$(RUBBER) -m hyperref babel-greek.dtx
makeindex -s gglo.ist -o babel-greek.gls babel-greek.glo
$(RUBBER) -m hyperref babel-greek.dtx
athnum.pdf: athnum.dtx
$(RUBBER) athnum.dtx
grmath.pdf: grmath.dtx
$(RUBBER) grmath.dtx
usage.pdf: usage.tex greek.ldf
$(RUBBER) usage.tex
test-greek.pdf: test-greek.tex greek.ldf
$(RUBBER) -m hyperref test-greek.tex
test-greek-tu.pdf: test-greek.tex greek.ldf
$(RUBBER) -m xelatex --jobname=test-greek-tu test-greek.tex
# requires rubber >= 1.6, otherwise `-m lualatex` is ignored.
test-greek-8bitcompat.pdf: test-greek-8bitcompat.tex test-greek.tex greek.ldf
$(RUBBER) -m hyperref -m lualatex test-greek-8bitcompat.tex
test-greek-ini.pdf: test-greek-ini.tex test-greek.tex greek.ldf
$(RUBBER) -m hyperref -m xelatex test-greek-ini.tex
test-case-changing.pdf: test-case-changing.tex greek.ldf
$(RUBBER) -m hyperref test-case-changing.tex
test-athnum.pdf: test-athnum.tex greek.ldf athnum.sty
$(RUBBER) test-athnum.tex
test-athnum-tu.pdf: test-athnum.tex greek.ldf athnum.sty
$(RUBBER) -m xelatex --jobname=test-athnum-tu test-athnum.tex
test-greeknum.pdf: test-greeknum.tex greek.ldf
$(RUBBER) test-greeknum.tex
test-greeknum-tu.pdf: test-greeknum.tex greek.ldf
$(RUBBER) -m xelatex --jobname=test-greeknum-tu test-greeknum.tex
test-lgr-fixes.pdf: test-lgr-fixes.tex greek.ldf
$(RUBBER) -m hyperref -m index test-lgr-fixes.tex
# Installation/Update
# ===================
update: packages test
$(COPY) *.ldf $(DESTDIR)
$(COPY) *.sty $(DESTDIR)
update-package: packages doc test
$(COPY) README.md $(DOCDIR)
$(COPY) babel-greek-doc.rst $(DOCDIR)
$(COPY) babel-greek-doc.html $(DOCDIR)
# selected PDFs
$(COPY) [!t]*.pdf $(DOCDIR)
$(COPY) test-greek.pdf $(DOCDIR)
$(COPY) test-athnum.pdf $(DOCDIR)
# also copy all sources
$(COPY) *.dtx $(DOCDIR)
$(COPY) *.ins $(DOCDIR)
$(COPY) *.tex $(DOCDIR)
$(COPY) Makefile $(DOCDIR)
# Cleanup
# =======
.PHONY: clean
clean:
rm -f *~ *.aux *.bbl *.bcf *.blg *.run.xml *.glo *.gls \
*.idx *.ilg *.ind *.log *.out *.rubbercache *.toc
|