X-Git-Url: https://git.martlubbers.net/?a=blobdiff_plain;f=Makefile;h=8f9b5518bfdf30ac84deb6a3405a2370b4d33bea;hb=96c38eaced38e4a3cb8df44ec54b778a1dc11b24;hp=01c05628627f4bb72ce8bdd1faab90e9e4d1054e;hpb=0dd82c0183888f46ac4eb4f66380356b1aa5eb4d;p=msc-thesis1617.git diff --git a/Makefile b/Makefile index 01c0562..8f9b551 100644 --- a/Makefile +++ b/Makefile @@ -1,30 +1,40 @@ 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\ + -output-directory=./output/ -.PHONY: all clean -.SECONDARY: $(addsuffix .fmt,$(DOCS)) +FIGURES:=$(addsuffix .png,$(addprefix img/,$(notdir $(basename $(wildcard fig/*.dot))))) +LISTINGS:=$(wildcard listings/*) +TEXS:=$(wildcard *.bib) +BIBS:=$(wildcard *.tex) -all: $(addsuffix .pdf,$(DOCS)) +.PHONY: all clean +.SECONDARY: $(addsuffix .fmt,$(DOCS)) $(FIGURES) -%.fmt: %.pre - $(LATEX) $(LATEXFLAGS) -ini -jobname="$(basename $@)" "&$(LATEX) $<\dump" +all: $(addprefix output/,$(addsuffix .pdf,$(DOCS))) -%.fmt: preamble.tex - $(LATEX) $(LATEXFLAGS) -ini -jobname="$(basename $@)" "&$(LATEX) $<\dump" +output/%.fmt: %.pre + $(LATEX) $(LATEXFLAGS) -ini -jobname="$(basename $<)" "&$(LATEX) $<\dump" -%.pdf: %.mlog - grep -iFq 'Rerun to get' $< &&\ - $(LATEX) $(LATEXFLAGS) $(basename $<) || true +output/%.pdf: %.mlog + if $(GREP) -iFq 'Rerun' $<; then $(LATEX) $(LATEXFLAGS) $(basename $<); fi -%.mlog: %.tex %.fmt $(wildcard *.bib) +%.mlog: %.tex output/%.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 $@ +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)) + $(RM) output/* $(FIGURES)