summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/generic/babel-greek/Makefile
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