DOC:=mv LATEX?=pdflatex LATEXFLAGS?=-file-line-error -halt-on-error -no-shell-escape TEXS:=$(wildcard *.tex) .PHONY: all clean .SECONDARY: $(DOC).fmt all: $(DOC).pdf %.fmt: preamble.tex $(LATEX) $(LATEXFLAGS) -ini -jobname="$(basename $@)" "&$(LATEX) $<\dump" %.mlog: %.tex %.fmt $(TEXS) $(LATEX) $(LATEXFLAGS) $< grep -q '^\\bibdata{' $(basename $<).aux && $(BIBTEX) $(basename $<) || true $(LATEX) $(LATEXFLAGS) $< | tee $@ %.pdf: %.mlog grep -qF 'Please rerun LaTeX.' $< &&\ $(LATEX) $(LATEXFLAGS) $(basename $<) || touch $@ clean: $(RM) $(addprefix $(DOC).,\ aux log fmt toc bbl blg mlog run.xml out pdf -blx.bib snm nav)