
# This makefile for building the various versions of the paper
# Call it with one of the following toplevel targets:

main:  pdf
pdf:   scribble-pdf
html:  scribble-html
htmls: scribble-htmls

# --------------------

INFOS = ++xref-in setup/xref load-collections-xref

scribble-pdf: scribble-zo scribble.pdf
scribble.pdf: scribble.tex struct-hierarchy.pdf
	mzscheme -e \
    '(require scribble/private/run-pdflatex) (void (run-pdflatex "scribble"))'

scribble-html: scribble-zo scribble.html
scribble.html: scribble.tex struct-hierarchy.png
	scribble --html $(INFOS) scribble.scrbl

scribble-htmls: scribble-zo scribble/index.html
scribble/index.html: scribble.tex struct-hierarchy.png
	scribble --htmls $(INFOS) scribble.scrbl

scribble-zo:
	mzc scribble.scrbl

scribble.tex: compiled/scribble_scrbl.zo prefix.tex style.tex extras.tex
	scribble --latex --prefix prefix.tex ++style style.tex $(INFOS) scribble.scrbl

PLANET_CONTENT = *.scrbl *.ss *.png prefix.tex extras.tex extras.css \
                 Makefile sigplanconf.cls scribble.bib \
                 images/exprs.dat images/img0.pdf images/img0.png \
                 struct-hierarchy.pdf struct-hierarchy.png

planet:
	rm -rf /tmp/scribble-paper
	mkdir /tmp/scribble-paper
	tar cf - $(PLANET_CONTENT) | (cd /tmp/scribble-paper; tar xf -)
	planet create /tmp/scribble-paper

clean:
	rm -f scribble.tex scribble.aux scribble.out scribble.log \
              img0.pdf img0.png

real-clean: clean
	rm -rf compiled scribble.pdf scribble.html scribble \
               scribble.css scribble-common.js
