[m-rev.] diff: Fix problems with building PDF documentation

Paul Bone paul at bone.id.au
Sat Oct 5 11:49:57 AEST 2013

Branches: master, release

Fix problems with building PDF documentation

The PDF documents were sometimes generated without their tables of contents.
This could happen if for some reason there was no .toc file but the .dvi
file still existed.  The Mmakefile would not run texi2dvi which would
normally produce a toc file if the .dvi file already existed, this caused
pdftex to fail to include the table of contents in the generated PDF file.

This was common as distclean deleted the .toc file but did not delete the
.dvi file, so this commonly happened when generating documentation from a
source distribution tarball as we do for the webpage.

This change causes distclean to also delete the .dvi files.

    As above

    Also make library.dvi depend upon library-menu.texi_pp
    and library-chapters.texi_pp
 doc/Mmakefile | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/doc/Mmakefile b/doc/Mmakefile
index f8002c1..f27b634 100644
--- a/doc/Mmakefile
+++ b/doc/Mmakefile
@@ -4,7 +4,7 @@
 # Public License - see the file COPYING in the Mercury distribution.
-# Mmake - Mmake file for the Mercury documentation.
+# Mmakefile - Mmake file for the Mercury documentation.
@@ -333,7 +333,8 @@ library-chapters.texi_pp: ../VERSION $(LIBRARY_DIR)/[a-z]*.m
 	done > library-chapters.texi_pp
 library.dvi_log library_toc.html library_1.html mercury_library.info \
-		mercury_library.html mercury_library/index.html: \
+		mercury_library.html mercury_library/index.html \
+		library.dvi : \
 	library-menu.texi_pp library-chapters.texi_pp
@@ -456,6 +457,7 @@ clean_local: distclean clean_texi clean_webpage
 .PHONY: distclean
 	rm -f *.aux *.cp *.cps *.fn *.ky *.log *.pg *.toc *.tp *.vr
+	rm -f *.dvi *.dvi_log *.pdf *.pdf_log *.ps *.ps_log
 .PHONY: clean_texi
@@ -473,7 +475,7 @@ realclean_texi:
 	rm -f library*.html user_guide*.html reference_manual*.html
 	rm -f faq*.html transition_guide*.html
 	rm -f mercury.html mercury.info
-	rm -f mercury_*.info* *.dvi *.text *.ps *.pdf *.dvi_log
+	rm -f mercury_*.info* *.dvi *.text *.ps *.pdf *.dvi_log *.pdf_log
 .PHONY: realclean_manpages

More information about the reviews mailing list