DOCS:=thesis GREP?=grep LATEX?=pdflatex BIBTEX?=bibtex BIBTEXFLAGS:= MAKEGL?=makeglossaries MAKEGLFLAGS?= MAKEIDX?=makeindex MAKEIDXFLAGS?= DOT?=dot DOTFLAGS?=-Tpng LATEXFLAGS:=-file-line-error -halt-on-error FIGURES:=$(patsubst fig/%.dot,img/%.png,$(wildcard fig/*.dot)) LISTINGS:=$(wildcard listings/*) TEXS:=$(wildcard *.bib) BIBS:=$(wildcard *.tex) .PHONY: all clean .SECONDARY: $(DOCS:%=%.fmt) $(FIGURES) all: $(DOCS:%=%.pdf) %.fmt: %.pre $(LATEX) $(LATEXFLAGS) -ini -jobname="$(basename $<)" "&$(LATEX) $<\dump" %.pdf: %.mlog if grep -Fiq "Rerun" $<; then $(LATEX) $(LATEXFLAGS) $(basename $<); fi %.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 $(MAKEGL) $(MAKEGLFLAGS) $(basename $<); fi if [ -f $(basename $<).idx ]; then $(MAKEIDX) $(MAKEIDXFLAGS) $(basename $<); fi $(LATEX) $(LATEXFLAGS) $< | tee $@ img/%.png: fig/%.dot $(DOT) $(DOTFLAGS) $< > $@ clean: $(DOCS:%=clean-%) $(RM) $(FIGURES) clean-%: $(RM) $(addprefix $(@:clean-%=%).,acn acr alg aux bbl blg idl idx ilg ind\ fmt glg glo gls ist loa lof log lol lot mlog nav out pdf snm tdo toc)