%.ascii: %.txt
	@echo "genuinetoccing..." >&2
	@genuinetoc -width:70 -pipe "-chars:.   " $< > $@

%.latex: %.txt
	@echo "genuining..." >&2
	@cp $< temp.txt
	@genuine -v temp.txt
	@rm temp.txt
	@mv temp.latex $@

%.dvi: %.latex
	@echo "latexing..." >&2
	@latex $< || genuinefixwrapper `basename $< .latex`; echo $$?
	@c=0; \
	while grep "Rerun to get cross-references right" `basename $< .latex`.log; do \
		latex $< || genuinefixwrapper `basename $< .latex`; echo $$?; \
		: $$[c++]; \
		[ "$$c" = "10" ] && exit 0; \
	done; \
	exit 0

%.ps: %.dvi
	@echo "dvipsing..." >&2
	@dvips $< #-Pwww is better, but not available on all systems

%.pdf: %.ps
	@echo "pdfing..." >&2
	@ps2pdf $< $@

clean:
	@echo "cleaning..." >&2
	@rm texput.log *.pdf *.dvi *.ascii *.toc *.ps *.aux *.tmp *.latex *.log 2>/dev/null || true
	@rm -r .cached 2>/dev/null || true

.PHONY: clean
