diff options
author | upstream source tree <ports@midipix.org> | 2015-03-15 20:14:05 -0400 |
---|---|---|
committer | upstream source tree <ports@midipix.org> | 2015-03-15 20:14:05 -0400 |
commit | 554fd8c5195424bdbcabf5de30fdc183aba391bd (patch) | |
tree | 976dc5ab7fddf506dadce60ae936f43f58787092 /libstdc++-v3/doc/Makefile.am | |
download | cbb-gcc-4.6.4-15d2061ac0796199866debe9ac87130894b0cdd3.tar.bz2 cbb-gcc-4.6.4-15d2061ac0796199866debe9ac87130894b0cdd3.tar.xz |
obtained gcc-4.6.4.tar.bz2 from upstream website;upstream
verified gcc-4.6.4.tar.bz2.sig;
imported gcc-4.6.4 source tree from verified upstream tarball.
downloading a git-generated archive based on the 'upstream' tag
should provide you with a source tree that is binary identical
to the one extracted from the above tarball.
if you have obtained the source via the command 'git clone',
however, do note that line-endings of files in your working
directory might differ from line-endings of the respective
files in the upstream repository.
Diffstat (limited to 'libstdc++-v3/doc/Makefile.am')
-rw-r--r-- | libstdc++-v3/doc/Makefile.am | 517 |
1 files changed, 517 insertions, 0 deletions
diff --git a/libstdc++-v3/doc/Makefile.am b/libstdc++-v3/doc/Makefile.am new file mode 100644 index 000000000..b564f1cff --- /dev/null +++ b/libstdc++-v3/doc/Makefile.am @@ -0,0 +1,517 @@ +## Makefile for the doc subdirectory of the GNU C++ Standard library. +## +## Copyright (C) 2008, 2009, 2010, 2011 Free Software Foundation, Inc. +## +## This file is part of the libstdc++ version 3 distribution. +## Process this file with automake to produce Makefile.in. + +## This file is part of the GNU ISO C++ Library. This library is free +## software; you can redistribute it and/or modify it under the +## terms of the GNU General Public License as published by the +## Free Software Foundation; either version 3, or (at your option) +## any later version. + +## This library is distributed in the hope that it will be useful, +## but WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +## GNU General Public License for more details. + +## You should have received a copy of the GNU General Public License along +## with this library; see the file COPYING3. If not see +## <http://www.gnu.org/licenses/>. + +include $(top_srcdir)/fragment.am + +# Documentation Overview +# +# There are two main input materials for libstdc++ documentation. +# The first is the doxygen markup in libstdc++ sources, which is a +# reference to the API. And the second is the manual, via docbook markup in +# doc/xml/. +# +# A third and more obscure option deals with charting performance +# tests, and should be considered experimental. + +# Documentation conditionals for output. +if BUILD_XML +STAMP_XML = doc-xml +STAMP_INSTALL_XML = doc-install-xml +else +STAMP_XML = +STAMP_INSTALL_XML = +endif + +if BUILD_HTML +STAMP_HTML = doc-html +STAMP_INSTALL_HTML = doc-install-html +else +STAMP_HTML = +STAMP_INSTALL_HTML = +endif + +if BUILD_MAN +STAMP_MAN = doc-man +STAMP_INSTALL_MAN = doc-install-man +else +STAMP_MAN = +STAMP_INSTALL_MAN = +endif + +if BUILD_PDF +STAMP_PDF = doc-pdf +STAMP_INSTALL_PDF = doc-install-pdf +else +STAMP_PDF = +STAMP_INSTALL_PDF = +endif + +if BUILD_EPUB +STAMP_EPUB = doc-epub +STAMP_INSTALL_EPUB = doc-install-epub +else +STAMP_EPUB = doc-epub +STAMP_INSTALL_EPUB = doc-install-epub +endif + +# Documentation primary rules. +# +# xml: +# html: +# pdf: +# man: +# info: +# ps: +# dvi: +# epub: +# install-xml: +# install-html: +# install-pdf: +# install-man: +# install-info: +# install-ps: +# install-dvi: +# install-epub: + +xml: $(STAMP_XML) +install-xml: $(STAMP_INSTALL_XML) + +html: $(STAMP_HTML) +install-html: $(STAMP_INSTALL_HTML) + +man: $(STAMP_MAN) +install-man: $(STAMP_INSTALL_MAN) + +pdf: $(STAMP_PDF) +install-pdf: $(STAMP_INSTALL_PDF) + +epub: $(STAMP_EPUB) +install-epub: $(STAMP_INSTALL_EPUB) + +info: +install-info: + +ps: +install-ps: + +dvi: +install-dvi: + + +# Default creation and installation rules. +# Point to best sub-rule for the requested documentation target and +# create, and then install toplevel directory with standardized names +# and layouts. + +# XML +xmldir="$(DESTDIR)@docdir@" +stamp-xml: stamp-xml-single-docbook stamp-xml-single-doxygen + $(STAMP) stamp-xml + +doc-xml: stamp-xml + +doc-install-xml: doc-xml + test -z ${xmldir} || $(mkinstalldirs) ${xmldir} + $(INSTALL_DATA) ${manual_xml} ${xmldir} + $(INSTALL_DATA) ${api_xml} ${xmldir} + +# HTML +htmldir="$(DESTDIR)@docdir@" +stamp-html: stamp-html-docbook stamp-html-doxygen + $(STAMP) stamp-html + +doc-html: stamp-html + +doc-install-html: doc-html + test -z ${htmldir} || $(mkinstalldirs) ${htmldir} + cp -r ${docbook_outdir}/html ${htmldir}/libstdc++-manual.html; + cp -r ${doxygen_outdir}/html ${htmldir}/libstdc++-api.html; + +# PDF +pdfdir="$(DESTDIR)@docdir@" +stamp-pdf: stamp-pdf-docbook stamp-pdf-doxygen + $(STAMP) stamp-pdf + +doc-pdf: stamp-pdf + +doc-install-pdf: doc-pdf + test -z ${pdfdir} || $(mkinstalldirs) ${pdfdir} + $(INSTALL_DATA) ${docbook_outdir}/pdf/libstdc++-manual.pdf ${pdfdir} + $(INSTALL_DATA) ${doxygen_outdir}/pdf/libstdc++-api.pdf ${pdfdir} + +# MAN +mandir="$(DESTDIR)@mandir@" +stamp-man: stamp-man-doxygen + $(STAMP) stamp-man + +doc-man: stamp-man + +doc-install-man: doc-man + test -z ${mandir} || $(mkinstalldirs) ${mandir} + cp -r ${doxygen_outdir}/man/man3 ${mandir} + +# TEXINFO,INFO +infodir="$(DESTDIR)@infodir@" +stamp-texinfo: stamp-texinfo-docbook + $(STAMP) stamp-texinfo + +stamp-info: stamp-info-docbook + $(STAMP) stamp-info + +doc-texinfo: stamp-texinfo + +doc-info: stamp-info + +doc-install-texinfo: doc-texinfo + test -z ${infodir} || $(mkinstalldirs) ${infodir} + $(INSTALL_DATA) ${manual_texi} ${infodir} + +doc-install-info: doc-info + test -z ${infodir} || $(mkinstalldirs) ${infodir} + $(INSTALL_DATA) ${manual_info} ${infodir} + +# EPUB +# Assumes ruby installed +epubdir="$(DESTDIR)@docdir@" +stamp-epub: stamp-epub-docbook + $(STAMP) stamp-epub + +doc-epub: stamp-epub + +doc-install-epub: doc-epub + test -z ${epubdir} || $(mkinstalldirs) ${epubdir} + $(INSTALL_DATA) ${manual_epub} ${epubdir} + + +# Doxygen configuration +# Assumes doxygen, graphviz (with dot), pdflatex installed +doxygen_script=${top_srcdir}/scripts/run_doxygen +doxygen_outdir = ${glibcxx_builddir}/doc/doxygen +api_xml = ${doxygen_outdir}/xml/libstdc++-api-single.xml +doxygen_pdf = ${doxygen_outdir}/latex/refman.pdf +api_pdf = ${doxygen_outdir}/pdf/libstdc++-api.pdf + +${doxygen_outdir}/xml: + mkdir -p ${doxygen_outdir}/xml + +${doxygen_outdir}/html: + mkdir -p ${doxygen_outdir}/html + +${doxygen_outdir}/latex: + mkdir -p ${doxygen_outdir}/latex + +${doxygen_outdir}/pdf: + mkdir -p ${doxygen_outdir}/pdf + +${doxygen_outdir}/man: + mkdir -p ${doxygen_outdir}/man + +stamp-xml-doxygen: ${doxygen_outdir}/xml + -(srcdir=`cd ${top_srcdir}; ${PWD_COMMAND}`; \ + builddir=`cd ..; ${PWD_COMMAND}`; \ + ${SHELL} ${doxygen_script} \ + --host_alias=${host_alias} --mode=xml $${srcdir} $${builddir} NO) + $(STAMP) stamp-xml-doxygen + +stamp-xml-single-doxygen: stamp-xml-doxygen + @echo "Generating doxygen xml single file..." + $(XSLTPROC) ${doxygen_outdir}/xml/combine.xslt \ + ${doxygen_outdir}/xml/index.xml > ${api_xml}; + $(STAMP) stamp-xml-single-doxygen + +stamp-html-doxygen: ${doxygen_outdir}/html + -(srcdir=`cd ${top_srcdir}; ${PWD_COMMAND}`; \ + builddir=`cd ..; ${PWD_COMMAND}`; \ + ${SHELL} ${doxygen_script} \ + --host_alias=${host_alias} --mode=html $${srcdir} $${builddir} YES) + $(STAMP) stamp-html-doxygen + +stamp-latex-doxygen: ${doxygen_outdir}/latex + -(srcdir=`cd ${top_srcdir}; ${PWD_COMMAND}`; \ + builddir=`cd ..; ${PWD_COMMAND}`; \ + ${SHELL} ${doxygen_script} \ + --host_alias=${host_alias} --mode=latex $${srcdir} $${builddir} NO) + $(STAMP) stamp-latex-doxygen + +# Chance of loooooonnggg creation time on this rule. Iff this fails, +# look at refman.log and see if TeX's memory is exhausted. Symptoms +# include asking a wizard to enlarge capacity. If this is the case, +# find texmf.cnf and add a zero for pool_size, string_vacancies, +# max_strings, and pool_free values. +stamp-pdf-doxygen: stamp-latex-doxygen ${doxygen_outdir}/pdf + -(cd ${doxygen_outdir}/latex && $(MAKE) -i pdf;) + echo "Generating doxygen pdf file..."; + if [ -f ${doxygen_pdf} ]; then \ + mv ${doxygen_pdf} ${api_pdf} ; \ + echo ":: PDF file is ${api_pdf}"; \ + else \ + echo "... error"; \ + exit 12; \ + fi + $(STAMP) stamp-pdf-doxygen + +stamp-man-doxygen: ${doxygen_outdir}/man + -(srcdir=`cd ${top_srcdir}; ${PWD_COMMAND}`; \ + builddir=`cd ..; ${PWD_COMMAND}`; \ + ${SHELL} ${doxygen_script} \ + --host_alias=${host_alias} --mode=man $${srcdir} $${builddir} YES) + $(STAMP) stamp-man-doxygen + +doc-xml-doxygen: stamp-xml-doxygen +doc-xml-single-doxygen: stamp-xml-single-doxygen +doc-html-doxygen: stamp-html-doxygen +doc-latex-doxygen: stamp-latex-doxygen +doc-pdf-doxygen: stamp-pdf-doxygen +doc-man-doxygen: stamp-man-doxygen + + +# Docbook configuration. +# Assumes +# libxslt +# dblatex +# pdflatex +# docbook-style-xsl +# emacs-nxml-mode +docbook_outdir = ${glibcxx_builddir}/doc/docbook +xml_dir = ${glibcxx_srcdir}/doc/xml + +xml_sources_basic = \ + ${xml_dir}/spine.xml \ + ${xml_dir}/authors.xml \ + ${xml_dir}/api.xml \ + ${xml_dir}/faq.xml + +xml_sources_manual = \ + ${xml_dir}/manual/abi.xml \ + ${xml_dir}/manual/algorithms.xml \ + ${xml_dir}/manual/allocator.xml \ + ${xml_dir}/manual/auto_ptr.xml \ + ${xml_dir}/manual/atomics.xml \ + ${xml_dir}/manual/backwards_compatibility.xml \ + ${xml_dir}/manual/bitmap_allocator.xml \ + ${xml_dir}/manual/build_hacking.xml \ + ${xml_dir}/manual/codecvt.xml \ + ${xml_dir}/manual/concurrency.xml \ + ${xml_dir}/manual/concurrency_extensions.xml \ + ${xml_dir}/manual/configure.xml \ + ${xml_dir}/manual/containers.xml \ + ${xml_dir}/manual/ctype.xml \ + ${xml_dir}/manual/debug_mode.xml \ + ${xml_dir}/manual/debug.xml \ + ${xml_dir}/manual/diagnostics.xml \ + ${xml_dir}/manual/documentation_hacking.xml \ + ${xml_dir}/manual/evolution.xml \ + ${xml_dir}/manual/extensions.xml \ + ${xml_dir}/manual/internals.xml \ + ${xml_dir}/manual/intro.xml \ + ${xml_dir}/manual/io.xml \ + ${xml_dir}/manual/iterators.xml \ + ${xml_dir}/manual/locale.xml \ + ${xml_dir}/manual/localization.xml \ + ${xml_dir}/manual/messages.xml \ + ${xml_dir}/manual/mt_allocator.xml \ + ${xml_dir}/manual/numerics.xml \ + ${xml_dir}/manual/parallel_mode.xml \ + ${xml_dir}/manual/prerequisites.xml \ + ${xml_dir}/manual/profile_mode.xml \ + ${xml_dir}/manual/shared_ptr.xml \ + ${xml_dir}/manual/spine.xml \ + ${xml_dir}/manual/status_cxx1998.xml \ + ${xml_dir}/manual/status_cxx200x.xml \ + ${xml_dir}/manual/status_cxxtr1.xml \ + ${xml_dir}/manual/status_cxxtr24733.xml \ + ${xml_dir}/manual/strings.xml \ + ${xml_dir}/manual/support.xml \ + ${xml_dir}/manual/test.xml \ + ${xml_dir}/manual/using.xml \ + ${xml_dir}/manual/using_exceptions.xml \ + ${xml_dir}/manual/utilities.xml \ + ${xml_dir}/manual/appendix_free.xml \ + ${xml_dir}/manual/appendix_contributing.xml \ + ${xml_dir}/manual/appendix_porting.xml + +xml_sources_extra = \ + ${xml_dir}/gnu/fdl-1.3.xml \ + ${xml_dir}/gnu/gpl-3.0.xml + +xml_sources = \ + ${xml_sources_basic} \ + ${xml_sources_manual} \ + ${xml_sources_extra} + +xml_noinst = \ + ${xml_dir}/book.txml \ + ${xml_dir}/chapter.txml \ + ${xml_dir}/class.txml \ + ${xml_dir}/images/confdeps.dot \ + ${xml_dir}/images/confdeps.png \ + ${xml_dir}/images/confdeps.pdf + +XSLTPROC = xsltproc +XSLTPROC_FLAGS = --nonet --xinclude +#XSL_STYLE_DIR = /usr/share/xml/docbook/stylesheet/docbook-xsl-ns +#XSL_STYLE_DIR = /usr/share/sgml/docbook/xsl-ns-stylesheets +XSL_FO_STYLE = $(XSL_STYLE_DIR)/fo/docbook.xsl +XSL_HTML_STYLE = $(XSL_STYLE_DIR)/xhtml-1_1/chunk.xsl +XSL_HTML_SINGLE_STYLE = $(XSL_STYLE_DIR)/xhtml-1_1/docbook.xsl +XSL_EPUB_STYLE = $(XSL_STYLE_DIR)/epub/docbook.xsl + +${docbook_outdir}/epub: + mkdir -p ${docbook_outdir}/epub + +${docbook_outdir}/fo: + mkdir -p ${docbook_outdir}/fo + +${docbook_outdir}/html: + mkdir -p ${docbook_outdir}/html + +${docbook_outdir}/pdf: + mkdir -p ${docbook_outdir}/pdf + +${docbook_outdir}/texinfo: + mkdir -p ${docbook_outdir}/texinfo + +${docbook_outdir}/xml: + mkdir -p ${docbook_outdir}/xml + +# Validate existing XML structure. +XMLLINT = xmllint +LINT_FLAGS = --debug --xinclude --noent --noblanks --noout +SCHEMA_FLAGS = http://www.docbook.org/xml/5.0/dtd/docbook.dtd +#SCHEMA_FLAGS = --nonet /usr/share/xml/docbook5/schema/dtd/5.0/docbook.dtd +XMLLINT_VALID_FLAGS = $(LINT_FLAGS) --dtdvalid $(SCHEMA_FLAGS) +XMLLINT_FLAGS = --xinclude --nsclean --c14n --noent --noblanks --nocdata +doc-xml-validate-docbook: $(xml_sources) + @echo "Generating XML validation log..." + $(XMLLINT) $(XMLLINT_VALID_FLAGS) ${top_srcdir}/doc/xml/spine.xml + +# XML, all one page +# Some info on canonicalization +# http://www.mail-archive.com/help-texinfo@gnu.org/msg00864.html +manual_xml = ${docbook_outdir}/xml/libstdc++-manual-single.xml +set_xml = ${docbook_outdir}/xml/libstdc++-set-single.xml +stamp-xml-single-docbook: $(xml_sources) ${docbook_outdir}/xml + @echo "Generating XML single..." + $(XMLLINT) $(XMLLINT_FLAGS) \ + ${top_srcdir}/doc/xml/manual/spine.xml > ${manual_xml}; + $(XMLLINT) $(XMLLINT_FLAGS) \ + ${top_srcdir}/doc/xml/spine.xml > ${set_xml}; + if [ ! -d "${docbook_outdir}/xml/images" ]; then \ + $(LN_S) ${top_srcdir}/doc/xml/images ${docbook_outdir}/xml/; \ + fi + $(STAMP) stamp-xml-single-docbook + +doc-xml-single-docbook: stamp-xml-single-docbook + +# HTML, index plus chapters +stamp-html-docbook: $(xml_sources) ${docbook_outdir}/html + @echo "Generating html files..." + $(XSLTPROC) $(XSLTPROC_FLAGS) -o ${docbook_outdir}/html/ \ + $(XSL_HTML_STYLE) ${top_srcdir}/doc/xml/spine.xml + $(STAMP) stamp-html-docbook + +doc-html-docbook: stamp-html-docbook + +# HTML, all one page +manual_html = ${docbook_outdir}/html/libstdc++-manual-single.html +stamp-html-single-docbook: $(xml_sources) ${docbook_outdir}/html + @echo "Generating html single file..." + $(XSLTPROC) $(XSLTPROC_FLAGS) -o ${manual_html} \ + $(XSL_HTML_SINGLE_STYLE) ${top_srcdir}/doc/xml/spine.xml + $(STAMP) stamp-html-single-docbook + +doc-html-single-docbook: stamp-html-single-docbook + +# FO +stamp-fo-docbook: $(xml_sources) ${docbook_outdir}/fo + @echo "Generating FO files..." + $(XSLTPROC) $(XSLTPROC_FLAGS) -o ${docbook_outdir}/fo/spine.fo \ + $(XSL_FO_STYLE) ${top_srcdir}/doc/xml/spine.xml + $(STAMP) stamp-fo-docbook + +doc-fo-docbook: stamp-fo-docbook + +# PDF, via dblatex +manual_pdf = ${docbook_outdir}/pdf/libstdc++-manual.pdf +DBLATEX_FLAGS = --dump --verbose --pdf -o ${manual_pdf} +stamp-pdf-docbook: $(xml_sources) ${docbook_outdir}/pdf + @echo "Generating pdf dblatex files..." + dblatex $(DBLATEX_FLAGS) ${top_srcdir}/doc/xml/spine.xml + $(STAMP) stamp-pdf-docbook + +doc-pdf-docbook: stamp-pdf-docbook + +# TEXINFO, via docbook2X +# NB: Both experimental and tempermental +manual_texi = ${docbook_outdir}/texinfo/libstdc++-manual.texi +manual_info = ${docbook_outdir}/texinfo/libstdc++-manual.info +DB2TEXI_FLAGS = \ + --encoding=utf-8//TRANSLIT \ + --string-param output-file="libstdc++-manual" \ + --string-param directory-category="GNU C++ Library" \ + --string-param explicit-node-names=true + +stamp-texinfo-docbook: stamp-xml-single-docbook ${docbook_outdir}/texinfo + @echo "Generating texinfo files..." + db2x_docbook2texi $(DB2TEXI_FLAGS) ${set_xml} + mv libstdc++-manual.texi ${manual_texi} + $(STAMP) stamp-texinfo-docbook + +stamp-info-docbook: stamp-texinfo-docbook + @echo "Generating info files..." + $(MAKEINFO) $(MAKEINFOFLAGS) ${manual_texi} + $(STAMP) stamp-info-docbook + +doc-texinfo-docbook: stamp-texinfo-docbook + +doc-info-docbook: stamp-info-docbook + +# EPUB, via dbtoepub + ruby +manual_epub = ${docbook_outdir}/epub/libstdc++-manual.epub +stamp-epub-docbook: stamp-xml-single-docbook ${docbook_outdir}/epub + @echo "Generating epub files..." + ${XSL_STYLE_DIR}/epub/bin/dbtoepub -v -d -o ${manual_epub} ${set_xml} + $(STAMP) stamp-epub-docbook + +doc-epub-docbook: stamp-epub-docbook + + +# Performance doc and graph configuration. +# Assumes pychart, beautiful soup installed. +# Generates the plots and graphs for performance testing. +doc_performance_script=${top_srcdir}/scripts/make_graphs.py +doc-html-performance: + -@(chmod + ${doc_performance_script}; \ + ${doc_performance_script} ${top_srcdir} \ + ${glibcxx_builddir}/testsuite \ + ${top_srcdir}/testsuite/data/make_graph_htmls.xml \ + ${top_srcdir}/testsuite/data/make_graph_test_infos.xml local g++) + + +.PHONY: doc-doxygen-html doc-doxygen-man doc-performance + +# By adding these files here, automake will remove them for 'make clean' +CLEANFILES = *.log stamp* + +# To remove directories. +clean-local: + rm -rf man html pdf fo xml doxygen docbook ./libstdc++-* db2t* |