Make preamble
[linuxnijmegen-make.git] / Makefile
index f62a2c6..fa986e7 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,12 +1,24 @@
-DOCUMENTS:=make
-PDFLATEXFLAGS:=-halt-on-error
-PDFLATEX:=pdflatex $(PDFLATEXFLAGS)
+DOC:=make
+LATEX:=latex
+LATEXFLAGS:=-file-line-error -halt-on-error -no-shell-escape
 
-all: $(addsuffix .pdf,$(DOCUMENTS))
+TEXS:=$(wildcard *.tex)
 
-%.pdf: %.tex
-       $(PDFLATEX) $<
-       $(PDFLATEX) $<
+.PHONY: all
+.SECONDARY: $(DOC).fmt
+
+all: $(DOC).dvi
+
+%.fmt: preamble.tex
+       $(LATEX) $(LATEXFLAGS) -ini -jobname="$(basename $@)" "&$(LATEX) $<\dump"
+
+%.ps.gz: %.dvi
+       dvips -o- $< | gzip -9 > $@
+
+%.dvi: %.tex %.fmt $(TEXS)
+       $(LATEX) $(LATEXFLAGS) $< | tee $(basename $<).mlog
+       grep -qF '(rerunfilecheck)' $(basename $<).mlog &&\
+               $(LATEX) $(LATEXFLAGS) $< || true
 
 clean:
-       $(RM) -v $(addprefix $(DOCUMENTS).,pdf log aux nav toc out snm)
+       $(RM) $(addprefix $(DOC).,dvi pdf log aux nav toc out snm mlog fmt ps*)