ADDITIONAL_REMOVES = *.eps shEsc.tmp gnuplot.errors *.pdf *.ps


all :
	rm -f ./.failed;\
	for f in *.tex; do make $$(basename $$f .tex).pdf;\
	done;\
	test -e ./.failed && \
	echo "_Failed targets:" && cat ./.failed|sort|uniq;\
	test ! -e ./.failed && \
	echo "no _failures: good";\
	:


.SUFFIXES:
.SUFFIXES:   .tex .pdf .dvi .ps 
%.pdf : %.ps
	name=$$(basename $< .ps);\
	rm -f gnuplot.errors;\
	rm -f ./$${name}.gnuplot.errors;\
	ps2pdf -dAutoRotatePages=/None -dALLOWPSTRANSPARENCY \
	$${name}.ps $${name}-crop-me.pdf ;\
	test $$? -ne 0 && echo $${name} >> .failed && exit 1;\
	pdfcrop $${name}-crop-me.pdf $${name}.pdf;\
	test $$? -ne 0 && echo $${name} >> .failed && exit 1;\
	test -e ./gnuplot.errors && cat gnuplot.errors;\
	test -e ./$${name}.gnuplot.errors && cat ./$${name}.gnuplot.errors;\
	echo "mupdf $${name}.pdf &";\
	:

%.dvi : %.tex
	name=$$(basename $< .tex);\
	latex -interaction=nonstopmode -shell-escape $${name};\
	test $$? -ne 0 && echo $${name} >> .failed && exit 1;\
	:

%.ps : %.dvi
	name=$$(basename $< .dvi);\
	dvips -N0 -z  $${name};\
	test $$? -ne 0 && echo $${name} >> .failed && exit 1;\
	:

PHONY: clean xclean
clean :
	rm -f *.dvi *.aux *.log *.ps test.dvi test.ps *.clt *.asy
	rm -f *-crop-me.pdf gnuplot.errors
	rm -f *.bak
	rm -f shEsc.tmp

xclean : 
	rm -f *.dvi *.log *.bak *.aux *.bbl *.blg *.ps *.pslatex *.clt *.asy
	rm -f egpl-*.gnuplot  # our egpl
	rm -f *.toc
	rm -f *.pdf
	rm -f *.out # hyperref
	test "$(ADDITIONAL_REMOVES)" != "" && rm -rf $(ADDITIONAL_REMOVES)||:

