# printable.ps parameters
PSBOOK_SIG = 16 # number of pages*4 to be folded together
PSTOPS_SPEC = "2:0L(8.5in,0in)+1L(8.5in,5.5in)"

DVIPS_SPEC = "5.5in,8.5in"

JPEG2PS = jpeg2ps -q

SOURCES = $(wildcard *.tex)
IMAGES = $(patsubst %.jpg,%.eps,$(wildcard images/*.jpg))

all: booklet.ps booklet.pdf \
	printable.ps printable.pdf \
	odd_printable.ps odd_printable.pdf \
	even_reverse_printable.ps even_reverse_printable.pdf

clean:
	make -C images clean
	rm -f *~ *.log *.dvi *.log *.aux *.toc *.out *.pdf *.ps
	rm -f images/*.eps

%.eps : %.jpg
	$(JPEG2PS) -o $@ $<

# latex is run twice to properly generate the table of contents.

booklet.dvi: $(SOURCES) $(IMAGES)
	latex booklet.tex
	latex booklet.tex

booklet.ps: booklet.dvi
	dvips -q -T $(DVIPS_SPEC) -o booklet.ps booklet.dvi

booklet.pdf: $(SOURCES)
	pdflatex booklet.tex
	pdflatex booklet.tex

# Easy booklet forms

printable.ps: booklet.dvi
	dvips -q -T $(DVIPS_SPEC) -o - booklet.dvi | psbook -q -s$(PSBOOK_SIG) | \
		pstops -q $(PSTOPS_SPEC) > printable.ps

odd_printable.ps: printable.ps
	psselect -o printable.ps > odd_printable.ps

even_reverse_printable.ps: printable.ps
	psselect -e -r printable.ps > even_reverse_printable.ps

printable.pdf: printable.ps
	ps2pdf printable.ps

odd_printable.pdf: odd_printable.ps
	ps2pdf odd_printable.ps

even_reverse_printable.pdf: even_reverse_printable.ps
	ps2pdf even_reverse_printable.ps

# For building the web page

web: update_web clean tarfile index

update_web: all
	cp -f *.ps *.pdf ..
	mv -f ../booklet.pdf "../The Green Book.pdf"
	mv -f ../booklet.ps "../The Green Book.ps"

tarfile:
	cd .. && tar zc thegreenbook > thegreenbook.tar.gz

index:
	cd .. && cat index.html.src | sed -s "s/###DATE###/`date`/" > index.html


.PHONY: clean
.PHONY: all
.PHONY: images
.PHONY: web
.PHONY: update_web
.PHONY: tarfile
.PHONY: index
