# Copyright John Maddock 2008. Use, modification, and distribution are # subject to the Boost Software License, Version 1.0. (See accompanying # file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) import os ; import common ; import doxygen ; using quickbook ; path-constant images_location : html ; # # Accumulators docs are dependent upon # latex dvips and ps being in your PATH. # This is true for most Unix installs, but # not on Win32, where you will need to install # MkTex and Ghostscript and add these tools # to your path. # make latex.check : : @check-latex ; actions check-latex { latex -version > latex.version } make dvips.check : : @check-dvips ; actions check-dvips { dvips -version > dvips.version } make gs.check : : @check-gs ; import os ; if [ os.name ] = "NT" { actions check-gs { gswin32c -version > gs.version } } else { actions check-gs { gs -version > gs.version } } # Use Doxygen to emit a tagfile with the definition of depends_on<>. That # tagfile will be used by Doxygen below when generating the Statistics Library # Reference. This is all so that the Doxygen-generated documentation for the # features shows the dependency relationships between them. doxygen tagfile : ../../boost/accumulators/framework/depends_on.hpp ../../boost/accumulators/framework/extractor.hpp : MACRO_EXPANSION=YES EXPAND_ONLY_PREDEF=YES GENERATE_TAGFILE=accumulators.tag "PREDEFINED=\"BOOST_ACCUMULATORS_DOXYGEN_INVOKED=1\" \\ \"BOOST_PP_REPEAT_FROM_TO(a,b,c,d)=\" \\ \"BOOST_PP_ENUM_PARAMS(a,b)=b ## 1, b ## 2, ...\"" latex.check dvips.check gs.check ; # Generate the HTML form of the stats documentation, as this causes Doxygen to # generate .png images for the LaTeX formulas embedded in the doc comments. doxygen statsdoc.html : weighted_tail_quantile.hpp : latex.check dvips.check gs.check ; if [ os.name ] = NT { CP = copy /y ; MKDIR = mkdir ; FROM = \\..\\..\\..\\html\\statsdoc\\*.png ; TOHTML = .\\html\\images\\accumulators ; TOPDF = \\images\\accumulators ; } else { CP = cp ; MKDIR = mkdir -p ; FROM = /../../html/statsdoc/*.png ; TOHTML = ./html/images/accumulators ; TOPDF = /images/accumulators ; } actions copy-latex-pngs { $(MKDIR) $(TOHTML) $(MKDIR) $(<:D)$(TOPDF) $(CP) $(<:D)$(FROM) $(TOHTML) $(CP) $(<:D)$(FROM) $(<:D)$(TOPDF) echo "Stamped" > "$(<)" } # This causes the png files built above to be copied into the # html/images/accumulators directory. make statsdoclatex.tag : statsdoc.html : @copy-latex-pngs ; doxygen statsdoc : weighted_tail_quantile.hpp : EXTRACT_ALL=YES "PREDEFINED=\"BOOST_ACCUMULATORS_DOXYGEN_INVOKED=1\" \\ \"BOOST_PP_REPEAT_FROM_TO(a,b,c,d)=\" \\ \"BOOST_PP_REPEAT(a,b,c)=\" \\ \"BOOST_PARAMETER_KEYWORD(a,b)=\\ namespace a { struct b {}; } \\ boost::parameter::keyword const b;\" \\ \"BOOST_PP_ENUM_PARAMS(a,b)=b ## 1, b ## 2, ...\"" HIDE_UNDOC_MEMBERS=NO EXTRACT_PRIVATE=NO ENABLE_PREPROCESSING=YES MACRO_EXPANSION=YES EXPAND_ONLY_PREDEF=YES SEARCH_INCLUDES=NO TAGFILES=accumulators.tag boost.doxygen.formuladir=images/accumulators/ "Statistics Library Reference" tagfile statsdoclatex.tag latex.check dvips.check gs.check ; xml test : test.qbk ; boostbook standalone : test : statsdoc # HTML options first: #====================================================================== toc.max.depth=2 toc.section.depth=2 chunk.section.depth=1 boost.root=../../.. html:callout.graphics.path=../../src/images/callouts/ boost.libraries=../../../libs/libraries.htm navig.graphics=1 html.stylesheet=../../../doc/html/boostbook.css # PDF Options: #====================================================================== # PDF Options: # TOC Generation: only one of these should be set: pdf:fop.extensions=0 pdf:fop1.extensions=0 pdf:xep.extensions=1 # No indent on body text: pdf:body.start.indent=0pt # Margin size: pdf:page.margin.inner=0.5in pdf:page.margin.outer=0.5in # Paper type = A4 pdf:paper.type=A4 # Yes, we want graphics for admonishments: admon.graphics=1 # Set this one for PDF generation *only*: # default pnd graphics are awful in PDF form, # better use SVG's instead: pdf:admon.graphics.extension=".svg" pdf:img.src.path=$(images_location)/ pdf:admon.graphics.path=$(images_location)/../../src/images/ pdf:callout.graphics.path=$(images_location)/../../src/images/callouts/ pdf:draft.mode="no" ; install pdf-install : standalone : . PDF ;