Makefile: Rewrite to be less awful.
[doc/texmf] / Makefile
CommitLineData
1fc8ecf7
MW
1### -*-makefile-*-
2### Makefile for texmf stuff
0395bec3 3
1fc8ecf7
MW
4all::
5.PHONY: all
6
7install::
8uninstall::
9.PHONY: install uninstall
10
11clean::
12.PHONY: clean
13
14.SECONDEXPANSION: #sorry
15
16V ?= 0
17if_v = $(call if_v_$V,$1,$2)
18if_v_0 = $1
19if_v_1 = $2
20V_AT = $(call if_v,@,)
21v_tag = \
22 $(call if_v,@printf " %-8s %s\n" "$1" "$(or $2,$@)";,)
23
24texmfdir = $(HOME)/texmf
25
26INSTALLDIRS += bib bst
27bibtexdir = $(texmfdir)/bibtex
28bibdir = $(bibtexdir)/bib
29bstdir = $(bibtexdir)/bst
30
31INSTALLDIRS += latex
32texdir = $(texmfdir)/tex
33latexdir = $(texdir)/latex
34
35INSTALLDIRS += fontinst
36fontinstdir = $(texdir)/fontinst
38e062db
MW
37
38default: all
39
1fc8ecf7
MW
40latex_FILES += po.sty
41latex_FILES += babelbst.tex
42
43bib_FILES += mdw-crypto.bib mdw-fixes.bib
44bst_FILES += mdwalpha.bst
45
46fontinst_FILES += zrmkern.mtx
47fontinst_FILES += zrhax.mtx zrmhax.mtx zrvhax.mtx zryhax.mtx
48
49CLEANFILES += *.log
50
51TARGETS += babelbst.tex mdwalpha.bst
52CLEANFILES += *.bix
53babelbst.tex: mdwalpha.bst
54mdwalpha.bst: mdwalpha.dbj
55 $(V_AT)rm -f babelbst.tex mdwalpha.bst
56 $(call v_tag,TEX)tex \
57 $(call if_v,>/dev/null --interaction=batchmode) \
58 '\let\ifbatching\iftrue \input mdwalpha.dbj'
59
60INSTALL_RULES = $(foreach d,$(INSTALLDIRS), install/$d)
61install:: $(INSTALL_RULES)
62 mktexlsr $(texmfdir)
63$(INSTALL_RULES): install/%: $$($$*_FILES)
64 $(V_AT)mkdir -p $(DESTDIR)$($*dir)
65 $(call v_tag,INST,$($*dir): $($*_FILES))\
66 cp $+ $(DESTDIR)$($*dir)/
67.PHONY: $(INSTALL_RULES)
68
69UNINSTALL_RULES = $(foreach d,$(INSTALLDIRS), uninstall/$d)
70uninstall:: $(UNINSTALL_RULES)
71 mktexlsr $(texmfdir)
72$(UNINSTALL_RULES): uninstall/%: $$($$*_FILES)
73 $(call v_tag,RM,$($*dir): $($*_FILES))\
74 rm -f $(foreach f,$($*_FILES), $(DESTDIR)$($*dir)/$f)
75.PHONY: $(UNINSTALL_RULES)
76
77all:: $(TARGETS)
78clean::; rm -f $(CLEANFILES) $(TARGETS)