add relevant research
[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:=\
9 -file-line-error\
10 -halt-on-error\
11 -no-shell-escape
12
13 FIGURES:=$(addsuffix .png,$(addprefix img/,$(notdir $(basename $(wildcard fig/*.dot)))))
14 LISTINGS:=$(wildcard listings/*)
15 TEXS:=$(wildcard *.bib)
16 BIBS:=$(wildcard *.tex)
17
18 .PHONY: all clean
19 .SECONDARY: $(addsuffix .fmt,$(DOCS)) $(FIGURES)
20
21 all: $(addsuffix .pdf,$(DOCS))
22
23 %.fmt: %.pre
24 $(LATEX) $(LATEXFLAGS) -ini -jobname="$(basename $<)" "&$(LATEX) $<\dump"
25
26 %.pdf: %.mlog
27 if grep -Fiq "Rerun" $<; then $(LATEX) $(LATEXFLAGS) $(basename $<); fi
28
29 %.mlog: %.tex %.fmt $(BIBS) $(TEXS) $(FIGURES) $(LISTINGS)
30 $(LATEX) $(LATEXFLAGS) $<
31 if $(GREP) -q '^\\bibdata{' $(basename $<).aux; then $(BIBTEX) $(BIBTEXFLAGS) $(basename $<); fi
32 if $(GREP) -q '\@istfilename' $(basename $<).aux; then $(MAKEGLOSSARIES) $(MAKEGLOSSARIESFLAGSFLAGS) $(basename $<); fi
33 $(LATEX) $(LATEXFLAGS) $< | tee $@
34
35 img/%.png: fig/%.dot
36 dot -Tpng $< > $@
37
38 clean: $(addprefix clean-,$(DOCS))
39 $(RM) -v $(FIGURES)
40
41 clean-%:
42 $(RM) -v $(addprefix $(@:clean-=).,acn acr alg aux bbl blg fmt glg glo\
43 gls ist lof log lol lot out pdf tdo toc)