add relevant research
[msc-thesis1617.git] / Makefile
index eadae05..89d89e9 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -5,9 +5,15 @@ BIBTEX?=bibtex
 BIBTEXFLAGS:=
 MAKEGLOSSARIES?=makeglossaries
 MAKEGLOSSARIESFLAGS?=
-LATEXFLAGS:=-file-line-error -halt-on-error -no-shell-escape
+LATEXFLAGS:=\
+       -file-line-error\
+       -halt-on-error\
+       -no-shell-escape
 
 FIGURES:=$(addsuffix .png,$(addprefix img/,$(notdir $(basename $(wildcard fig/*.dot)))))
+LISTINGS:=$(wildcard listings/*)
+TEXS:=$(wildcard *.bib)
+BIBS:=$(wildcard *.tex)
 
 .PHONY: all clean
 .SECONDARY: $(addsuffix .fmt,$(DOCS)) $(FIGURES)
@@ -15,12 +21,12 @@ FIGURES:=$(addsuffix .png,$(addprefix img/,$(notdir $(basename $(wildcard fig/*.
 all: $(addsuffix .pdf,$(DOCS))
 
 %.fmt: %.pre
-       $(LATEX) $(LATEXFLAGS) -ini -jobname="$(basename $@)" "&$(LATEX) $<\dump"
+       $(LATEX) $(LATEXFLAGS) -ini -jobname="$(basename $<)" "&$(LATEX) $<\dump"
 
 %.pdf: %.mlog
-       if $(GREP) -iFq 'Rerun' $<; then $(LATEX) $(LATEXFLAGS) $(basename $<); fi
+       if grep -Fiq "Rerun" $<; then $(LATEX) $(LATEXFLAGS) $(basename $<); fi
 
-%.mlog: %.tex %.fmt $(wildcard *.bib) $(wildcard *.tex) $(FIGURES)
+%.mlog: %.tex %.fmt $(BIBS) $(TEXS) $(FIGURES) $(LISTINGS)
        $(LATEX) $(LATEXFLAGS) $<
        if $(GREP) -q '^\\bibdata{' $(basename $<).aux; then $(BIBTEX) $(BIBTEXFLAGS) $(basename $<); fi
        if $(GREP) -q '\@istfilename' $(basename $<).aux; then $(MAKEGLOSSARIES) $(MAKEGLOSSARIESFLAGSFLAGS) $(basename $<); fi
@@ -29,7 +35,9 @@ all: $(addsuffix .pdf,$(DOCS))
 img/%.png: fig/%.dot
        dot -Tpng $< > $@
 
-clean:
-       $(RM) $(foreach DOC,$(DOCS),$(addprefix $(DOC).,\
-               acn acr alg aux bbl blg fmt glg glo gls ist lof log lol lot nav out\
-               pdf run.xml snm tdo toc vrb xdy)) $(FIGURES)
+clean: $(addprefix clean-,$(DOCS))
+       $(RM) -v $(FIGURES)
+
+clean-%:
+       $(RM) -v $(addprefix $(@:clean-=).,acn acr alg aux bbl blg fmt glg glo\
+               gls ist lof log lol lot out pdf tdo toc)