| 1 | ### -*-makefile-*- |
| 2 | ### Makefile for texmf stuff |
| 3 | |
| 4 | all:: |
| 5 | .PHONY: all |
| 6 | |
| 7 | install:: |
| 8 | uninstall:: |
| 9 | .PHONY: install uninstall |
| 10 | |
| 11 | clean:: |
| 12 | .PHONY: clean |
| 13 | |
| 14 | .SECONDEXPANSION: #sorry |
| 15 | |
| 16 | V ?= 0 |
| 17 | if_v = $(call if_v_$V,$1,$2) |
| 18 | if_v_0 = $1 |
| 19 | if_v_1 = $2 |
| 20 | V_AT = $(call if_v,@,) |
| 21 | v_tag = \ |
| 22 | $(call if_v,@printf " %-8s %s\n" "$1" "$(or $2,$@)";,) |
| 23 | |
| 24 | texmfdir = $(HOME)/texmf |
| 25 | |
| 26 | INSTALLDIRS += bib bst |
| 27 | bibtexdir = $(texmfdir)/bibtex |
| 28 | bibdir = $(bibtexdir)/bib |
| 29 | bstdir = $(bibtexdir)/bst |
| 30 | |
| 31 | INSTALLDIRS += latex |
| 32 | texdir = $(texmfdir)/tex |
| 33 | latexdir = $(texdir)/latex |
| 34 | |
| 35 | INSTALLDIRS += fontinst |
| 36 | fontinstdir = $(texdir)/fontinst |
| 37 | |
| 38 | default: all |
| 39 | |
| 40 | latex_FILES += po.sty |
| 41 | latex_FILES += babelbst.tex |
| 42 | |
| 43 | bib_FILES += mdw-crypto.bib mdw-fixes.bib |
| 44 | bst_FILES += mdwalpha.bst |
| 45 | |
| 46 | fontinst_FILES += zrmkern.mtx |
| 47 | fontinst_FILES += zrhax.mtx zrmhax.mtx zrvhax.mtx zryhax.mtx |
| 48 | |
| 49 | CLEANFILES += *.log |
| 50 | |
| 51 | TARGETS += babelbst.tex mdwalpha.bst |
| 52 | CLEANFILES += *.bix |
| 53 | babelbst.tex: mdwalpha.bst |
| 54 | mdwalpha.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 | |
| 60 | INSTALL_RULES = $(foreach d,$(INSTALLDIRS), install/$d) |
| 61 | install:: $(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 | |
| 69 | UNINSTALL_RULES = $(foreach d,$(INSTALLDIRS), uninstall/$d) |
| 70 | uninstall:: $(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 | |
| 77 | all:: $(TARGETS) |
| 78 | clean::; rm -f $(CLEANFILES) $(TARGETS) |