Change how pdf doc's are created
Currently the pdf docs are done with
sgml -> sgmltool -> tex -> latex -> dvi -> dvips -> ps -> ps2pdf -> pdf
or
tex -> latex -> dvi -> dvips -> ps -> ps2pdf -> pdf
with this patch we do
sgml -> sgmltool -> tex -> pdflatex -> pdf
or
tex -> pdflatex -> pdf
diff --git a/doc/Makefile b/doc/Makefile
index 1df6081..b92957e 100644
--- a/doc/Makefile
+++ b/doc/Makefile
@@ -6,7 +6,7 @@
LATEX=latex
DVIPS=dvips
-SGML2DVI=sgml2latex --output=dvi
+SGML2DVI=sgml2latex
SGML2HTML=sgml2html -s 0
LPR=lpr -Zsduplex
SHELL=bash
@@ -31,8 +31,11 @@
print: $(PSFILES)
$(LPR) $(PSFILES)
+%.tex: %.sgml
+ $(SGML2DVI) --output=tex $<
+
%.dvi: %.sgml
- $(SGML2DVI) $<
+ $(SGML2DVI) --output=dvi $<
%.dvi: %.tex
@set -e; pass=2; echo "Running LaTeX $<"; \
@@ -44,10 +47,17 @@
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 $@