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