# 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 ; import modules ; 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.header.prefix=doc boost.doxygen.formuladir=images/accumulators/ "Statistics Library Reference" tagfile statsdoclatex.tag latex.check dvips.check gs.check ; if htmlhelp in [ modules.peek : ARGV ] { # # Start with a rule to convert htmlhelp project into # compiled help file: # make htmlhelp/htmlhelp.chm : standalone : @hhc ; actions ignore hhc { hhc htmlhelp/htmlhelp.hhp } # # These install rules copy our images into a subdirectory of the created # htmlhelp project directory: unfortunately hhc.exe will only embed # images in a subdirectory of the project root. # install htmlhelp1 : [ glob html/images/*.png ] : htmlhelp/images ; install htmlhelp1a : [ glob html/images/*.svg ] : htmlhelp/images ; install htmlhelp2 : [ glob html/images/accumulators/*.png ] : statsdoc htmlhelp/images/accumulators ; install htmlhelp3 : [ glob ../src/images/*.png ] : statsdoc htmlhelp/images ; install htmlhelp4 : [ glob ../src/images/callouts/*.png ] : statsdoc htmlhelp/images/callouts ; } xml test : test.qbk ; boostbook standalone : test : statsdoc htmlhelp:htmlhelp1 htmlhelp:htmlhelp1a htmlhelp:htmlhelp2 htmlhelp:htmlhelp3 htmlhelp:htmlhelp4 # HTML options first: #====================================================================== toc.max.depth=2 toc.section.depth=2 chunk.section.depth=1 boost.root=../../.. navig.graphics=1 boost.mathjax=1 $(images_location)/.. # PDF Options: #====================================================================== pdf:img.src.path=$(images_location)/ pdf:boost.url.prefix=http://www.boost.org/doc/libs/release/doc/test/html # HTML Help Options: #====================================================================== #htmlhelp:img.src.path=../html htmlhelp:boost.url.prefix=http://www.boost.org/doc/libs/release/doc/test/html htmlhelp:htmlhelp.chm=test.chm ; install pdfinstall : standalone/pdf : . PDF ; explicit pdfinstall ;