X-Git-Url: https://git.martlubbers.net/?a=blobdiff_plain;f=Makefile;h=89d89e96840c1ae9baeff9f853a9e80c8f7a515e;hb=d118ff9d857683084065145df45135ef6fa06711;hp=45d3600ca06bc18437175ce3766712840e8d2466;hpb=6c6184edee2e3ae64176ee53d891f244b649ba1b;p=msc-thesis1617.git diff --git a/Makefile b/Makefile index 45d3600..89d89e9 100644 --- a/Makefile +++ b/Makefile @@ -1,24 +1,43 @@ DOCS:=thesis -LATEX:=pdflatex -BIBTEX:=bibtex +GREP?=grep +LATEX?=pdflatex +BIBTEX?=bibtex BIBTEXFLAGS:= -LATEXFLAGS:=-file-line-error -halt-on-error -no-shell-escape +MAKEGLOSSARIES?=makeglossaries +MAKEGLOSSARIESFLAGS?= +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)) +.SECONDARY: $(addsuffix .fmt,$(DOCS)) $(FIGURES) all: $(addsuffix .pdf,$(DOCS)) %.fmt: %.pre - $(LATEX) $(LATEXFLAGS) -ini -jobname="$(basename $@)" "&$(LATEX) $<\dump" + $(LATEX) $(LATEXFLAGS) -ini -jobname="$(basename $<)" "&$(LATEX) $<\dump" %.pdf: %.mlog - grep -iFq 'Rerun to get' $< && $(LATEX) $(LATEXFLAGS) $(basename $<) || true + if grep -Fiq "Rerun" $<; then $(LATEX) $(LATEXFLAGS) $(basename $<); fi -%.mlog: %.tex %.fmt $(wildcard *.bib) $(wildcard *.tex) +%.mlog: %.tex %.fmt $(BIBS) $(TEXS) $(FIGURES) $(LISTINGS) $(LATEX) $(LATEXFLAGS) $< - grep -q '^\\bibdata{' $(basename $<).aux && $(BIBTEX) $(BIBTEXFLAGS) $(basename $<) || true + 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 $@ -clean: - $(RM) $(foreach DOC,$(DOCS),$(addprefix $(DOC).,aux log fmt toc bbl blg run.xml out pdf snm nav snm vrb)) +img/%.png: fig/%.dot + dot -Tpng $< > $@ + +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)