eadae054df5336eb7205f425c8193f0174f28f39
[msc-thesis1617.git] / Makefile
1 DOCS:=thesis
2 GREP?=grep
3 LATEX?=pdflatex
4 BIBTEX?=bibtex
5 BIBTEXFLAGS:=
6 MAKEGLOSSARIES?=makeglossaries
7 MAKEGLOSSARIESFLAGS?=
8 LATEXFLAGS:=-file-line-error -halt-on-error -no-shell-escape
9
10 FIGURES:=$(addsuffix .png,$(addprefix img/,$(notdir $(basename $(wildcard fig/*.dot)))))
11
12 .PHONY: all clean
13 .SECONDARY: $(addsuffix .fmt,$(DOCS)) $(FIGURES)
14
15 all: $(addsuffix .pdf,$(DOCS))
16
17 %.fmt: %.pre
18 $(LATEX) $(LATEXFLAGS) -ini -jobname="$(basename $@)" "&$(LATEX) $<\dump"
19
20 %.pdf: %.mlog
21 if $(GREP) -iFq 'Rerun' $<; then $(LATEX) $(LATEXFLAGS) $(basename $<); fi
22
23 %.mlog: %.tex %.fmt $(wildcard *.bib) $(wildcard *.tex) $(FIGURES)
24 $(LATEX) $(LATEXFLAGS) $<
25 if $(GREP) -q '^\\bibdata{' $(basename $<).aux; then $(BIBTEX) $(BIBTEXFLAGS) $(basename $<); fi
26 if $(GREP) -q '\@istfilename' $(basename $<).aux; then $(MAKEGLOSSARIES) $(MAKEGLOSSARIESFLAGSFLAGS) $(basename $<); fi
27 $(LATEX) $(LATEXFLAGS) $< | tee $@
28
29 img/%.png: fig/%.dot
30 dot -Tpng $< > $@
31
32 clean:
33 $(RM) $(foreach DOC,$(DOCS),$(addprefix $(DOC).,\
34 acn acr alg aux bbl blg fmt glg glo gls ist lof log lol lot nav out\
35 pdf run.xml snm tdo toc vrb xdy)) $(FIGURES)