X-Git-Url: https://git.martlubbers.net/?a=blobdiff_plain;f=Makefile;h=eadae054df5336eb7205f425c8193f0174f28f39;hb=130cec648788a4660c91ffed6c1c2fb682413055;hp=a352d3a7c460e401e90624578ae972a5b7ca9315;hpb=6ee111e09a76e74ba5d55492df62702a364216fd;p=msc-thesis1617.git diff --git a/Makefile b/Makefile index a352d3a..eadae05 100644 --- a/Makefile +++ b/Makefile @@ -1,11 +1,16 @@ DOCS:=thesis -LATEX:=pdflatex -BIBTEX:=bibtex +GREP?=grep +LATEX?=pdflatex +BIBTEX?=bibtex BIBTEXFLAGS:= +MAKEGLOSSARIES?=makeglossaries +MAKEGLOSSARIESFLAGS?= LATEXFLAGS:=-file-line-error -halt-on-error -no-shell-escape +FIGURES:=$(addsuffix .png,$(addprefix img/,$(notdir $(basename $(wildcard fig/*.dot))))) + .PHONY: all clean -.SECONDARY: $(addsuffix .fmt,$(DOCS)) +.SECONDARY: $(addsuffix .fmt,$(DOCS)) $(FIGURES) all: $(addsuffix .pdf,$(DOCS)) @@ -13,13 +18,18 @@ all: $(addsuffix .pdf,$(DOCS)) $(LATEX) $(LATEXFLAGS) -ini -jobname="$(basename $@)" "&$(LATEX) $<\dump" %.pdf: %.mlog - grep -iFq 'Rerun to get' $< && $(LATEX) $(LATEXFLAGS) $(basename $<) || true + if $(GREP) -iFq 'Rerun' $<; then $(LATEX) $(LATEXFLAGS) $(basename $<); fi -%.mlog: %.tex %.fmt $(wildcard *.bib) $(wildcard *.tex) +%.mlog: %.tex %.fmt $(wildcard *.bib) $(wildcard *.tex) $(FIGURES) $(LATEX) $(LATEXFLAGS) $< - grep -q '^\\bibdata{' $(basename $<).aux && $(BIBTEX) $(BIBTEXFLAGS) $(basename $<) || true - grep -q '\@istfilename' $(basename $<).aux && makeglossaries $(basename $<) + if $(GREP) -q '^\\bibdata{' $(basename $<).aux; then $(BIBTEX) $(BIBTEXFLAGS) $(basename $<); fi + if $(GREP) -q '\@istfilename' $(basename $<).aux; then $(MAKEGLOSSARIES) $(MAKEGLOSSARIESFLAGSFLAGS) $(basename $<); fi $(LATEX) $(LATEXFLAGS) $< | tee $@ +img/%.png: fig/%.dot + dot -Tpng $< > $@ + clean: - $(RM) $(foreach DOC,$(DOCS),$(addprefix $(DOC).,aux log fmt toc bbl blg run.xml out pdf snm nav snm vrb glo tdo alg acn acr glg gls xdy)) + $(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)