chiark / gitweb /
strategy: move traversal proofs inline
[topbloke-formulae.git] / Makefile
index 1713c65b06549eba6d58134590a5ea2055bb4b97..7a4f7d4f0dec6fe44aba5ee66feee96a205859e4 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,13 +1,27 @@
 
 SRCS := $(wildcard *.tex)
 
-default: article.pdf
+default: final.pdf final.ps
 
-article.pdf: $(SRCS)
+once:          revid.inc
                pdflatex -halt-on-error article.tex </dev/null
 
-article.ps: article.pdf
-               pdftops article.pdf article.ps
+GITDIR:=$(addsuffix /, $(shell git rev-parse --git-dir))
+HEADREF:=$(shell git symbolic-ref HEAD 2>/dev/null)
+HEADDEPS:=$(addprefix $(GITDIR), HEAD $(HEADREF))
+
+revid.inc:     .git-revid $(SRCS) Makefile $(HEADDEPS)
+               ./$< >$@.new
+               cmp $@.new $@ || mv -f $@.new $@
+
+final.pdf: $(SRCS) revid.inc
+               $(MAKE) once
+               $(MAKE) once
+               $(MAKE) once
+               cp article.pdf final.pdf
+
+%.ps: %.pdf
+               pdftops $*.pdf $*.ps
 
 clean:
-       rm -f *.aux *.log *.dvi *.out *.pdf *~
+       rm -f *.aux *.log *.dvi *.out *.pdf *.ps *~