##------------------------------------------------------------- ## HACK: stuff to avoid making the print docs if installing the ## tools to do so is impractical / too difficult ##------------------------------------------------------------- # Comment out the next line to skip building print docs. The default # is not to skip building print docs. Note, after changing it # you of course need to re-run configure to make it take effect. BUILD_ALL_DOCS=yes ##------------------------------------------------------------- ## END OF HACK ##------------------------------------------------------------- SUBDIRS = xml lib images internals EXTRA_DIST = README dist_man_MANS = valgrind.1 ##------------------------------------------------------------------- ## Below here is more ordinary make stuff... ##------------------------------------------------------------------- myxmldir = $(top_srcdir)/docs/xml myimgdir = $(top_srcdir)/docs/images mylibdir = $(top_srcdir)/docs/lib myhtmldir = $(top_builddir)/docs/html myprintdir = $(top_builddir)/docs/print XML_CATALOG_FILES = /etc/xml/catalog # file to log print output to LOGFILE = print.log # validation stuff XMLLINT = xmllint LINT_FLAGS = --noout --xinclude --noblanks --postvalid VALID_FLAGS = --dtdvalid http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd XMLLINT_FLAGS = $(LINT_FLAGS) $(VALID_FLAGS) # stylesheet processor XSLTPROC = xsltproc XSLTPROC_FLAGS = --nonet --xinclude # stylesheets XSL_HTML_CHUNK_STYLE = $(mylibdir)/vg-html-chunk.xsl XSL_HTML_SINGLE_STYLE = $(mylibdir)/vg-html-single.xsl XSL_FO_STYLE = $(mylibdir)/vg-fo.xsl all-docs: FAQ.txt html-docs print-docs valid: $(XMLLINT) $(XMLLINT_FLAGS) $(myxmldir)/index.xml # The text version of the FAQ. FAQ.txt: $(myxmldir)/FAQ.xml $(myxmldir)/vg-entities.xml $(mylibdir)/*.xslt $(XSLTPROC) $(XSLTPROC_FLAGS) $(mylibdir)/untag-inline.xslt $(myxmldir)/FAQ.xml | \ $(XSLTPROC) $(XSLTPROC_FLAGS) $(mylibdir)/docbook2text.xslt - > FAQ.txt # chunked html html-docs: @echo "Generating html files..." export XML_CATALOG_FILES=$(XML_CATALOG_FILES) && \ mkdir -p $(myhtmldir) && \ /bin/rm -fr $(myhtmldir)/ && \ mkdir -p $(myhtmldir)/ && \ mkdir -p $(myhtmldir)/images && \ cp $(mylibdir)/vg_basic.css $(myhtmldir)/ && \ cp $(myimgdir)/*.png $(myhtmldir)/images && \ $(XSLTPROC) $(XSLTPROC_FLAGS) -o $(myhtmldir)/ $(XSL_HTML_CHUNK_STYLE) $(myxmldir)/index.xml # pdf and postscript print-docs: @echo "Generating PDF file: $(myprintdir)/index.pdf (please be patient)..."; export XML_CATALOG_FILES=$(XML_CATALOG_FILES) && \ mkdir -p $(myprintdir) && \ mkdir -p $(myprintdir)/images && \ cp $(myimgdir)/massif-graph-sm.png $(myprintdir)/images && \ $(XSLTPROC) $(XSLTPROC_FLAGS) -o $(myprintdir)/index.fo $(XSL_FO_STYLE) $(myxmldir)/index.xml && \ (cd $(myprintdir) && \ ( pdfxmltex index.fo && \ pdfxmltex index.fo && \ pdfxmltex index.fo ) &> $(LOGFILE) && \ echo "Generating PS file: $(myprintdir)/index.ps ..." && \ pdftops index.pdf && \ rm -f *.log *.aux *.fo *.out) # If the docs have been built, install them. But don't worry if they have # not -- developers do 'make install' not from a 'make dist'-ified distro all # the time. # # Note: this is done at 'make install' time. # Note 2: the ifeq/else/endif have to be indented one space # because otherwise it seems that automake thinks it should # be the one to handle the else/endif parts, not GNU make # as we intend. install-data-hook: if test -r html ; then \ mkdir -p $(DESTDIR)$(datadir)/doc/valgrind/; \ cp -r html $(DESTDIR)$(datadir)/doc/valgrind/; \ fi ifeq ($(BUILD_ALL_DOCS),yes) if test -r index.pdf ; then \ mkdir -p $(DESTDIR)$(datadir)/doc/valgrind/; \ cp index.pdf $(DESTDIR)$(datadir)/doc/valgrind/valgrind_manual.pdf; \ fi if test -r index.ps ; then \ mkdir -p $(DESTDIR)$(datadir)/doc/valgrind/; \ cp index.ps $(DESTDIR)$(datadir)/doc/valgrind/valgrind_manual.ps; \ fi endif # This is done at 'make dist' time. It builds the html and print docs # and copies them into the docs/ directory in the tarball. ifeq ($(BUILD_ALL_DOCS),yes) dist-hook: FAQ.txt html-docs print-docs cp -r html $(distdir) cp FAQ.txt $(distdir)/.. cp print/index.pdf $(distdir) cp print/index.ps $(distdir) else dist-hook: FAQ.txt html-docs cp FAQ.txt $(distdir)/.. cp -r html $(distdir) endif distclean-local: rm -rf html print rm -f $(top_builddir)/FAQ.txt