LATEX=latex
DVIPS=dvips
-SGML2DVI=sgml2latex --output=dvi
+SGML2DVI=sgml2latex
SGML2HTML=sgml2html -s 0
LPR=lpr -Zsduplex
SHELL=bash
print: $(PSFILES)
$(LPR) $(PSFILES)
+%.tex: %.sgml
+ $(SGML2DVI) --output=tex $<
+
%.dvi: %.sgml
- $(SGML2DVI) $<
+ $(SGML2DVI) --output=dvi $<
%.dvi: %.tex
@set -e; pass=2; echo "Running LaTeX $<"; \
echo "Re-running LaTeX $<, $${pass}d pass"; pass=$$[$$pass + 1]; \
done
-#%.pdf: %.tex
-# pdflatex $<
-%.pdf: %.ps
- ps2pdf $<
+%.pdf: %.tex
+ @set -e; pass=2; echo "Running pdfLaTeX $<"; \
+ while [ `pdflatex $< </dev/null 2>&1 | \
+ grep -c '^\(LaTeX Warning: Label(s) may\|No file \|! Emergency stop\)'` -ge 1 ]; do \
+ if [ $$pass -gt 3 ]; then \
+ echo "Seems, something is wrong. Try by hands." ; exit 1 ; \
+ fi; \
+ echo "Re-running pdfLaTeX $<, $${pass}d pass"; pass=$$[$$pass + 1]; \
+ done
+#%.pdf: %.ps
+# ps2pdf $<
%.ps: %.dvi
$(DVIPS) $< -o $@