# Copyright Eric Niebler 2005. 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 ; import quickbook ; # # 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 ; doxygen accdoc : [ glob ../../../boost/accumulators/accumulators*.hpp ] [ glob ../../../boost/accumulators/framework/*.hpp ] [ glob ../../../boost/accumulators/framework/parameters/*.hpp ] [ glob ../../../boost/accumulators/framework/accumulators/*.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 "Accumulators Framework Reference" 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 : [ glob ../../../boost/accumulators/statistics*.hpp ] [ glob ../../../boost/accumulators/statistics/*.hpp ] [ glob ../../../boost/accumulators/statistics/variates/*.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 : [ glob ../../../boost/accumulators/statistics*.hpp ] [ glob ../../../boost/accumulators/statistics/*.hpp ] [ glob ../../../boost/accumulators/statistics/variates/*.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 ; doxygen opdoc : [ glob ../../../boost/accumulators/numeric/functional.hpp ] [ glob ../../../boost/accumulators/numeric/functional/*.hpp ] : EXTRACT_ALL=YES "PREDEFINED=\"BOOST_NUMERIC_FUNCTIONAL_DOXYGEN_INVOKED=1\" \\ \"BOOST_NUMERIC_FUNCTIONAL_DEFINE_BINARY_OP(a,b,c)=\\ namespace functional { \\ template struct a ## _base \\ : std::binary_function() b lvalue())> { \\ /** \\return left b right */ \\ result_type operator()(Left &left, Right &right) const; }; \\ template::type, \\ class RightTag=typename tag::type> \\ struct a : a ## _base {}; } \\ namespace op { \\ struct a : boost::detail::function2< \\ functional::a<_1,_2,functional::tag<_1>,functional::tag<_2> > > {}; } \\ namespace { \\ /** \\return functional::a()(left, right) */ \\ op::a const & a = boost::detail::pod_singleton::instance; } \" \\ \"BOOST_NUMERIC_FUNCTIONAL_DEFINE_UNARY_OP(a,b)=\\ namespace functional { \\ template struct a ## _base \\ : std::unary_function())> { \\ /** \\return b arg */ \\ result_type operator()(Arg & arg) const; }; \\ template::type> \\ struct a : a ## _base {}; } \\ namespace op { \\ struct a : boost::detail::function1< \\ functional::a<_,functional::tag<_> > > {}; } \\ namespace { \\ /** \\return functional::a()(arg) */ \\ op::a const & a = boost::detail::pod_singleton::instance; }\"" HIDE_UNDOC_MEMBERS=NO EXTRACT_PRIVATE=NO ENABLE_PREPROCESSING=YES MACRO_EXPANSION=YES EXPAND_ONLY_PREDEF=YES SEARCH_INCLUDES=NO "Numeric Operators Library Reference" latex.check dvips.check gs.check ; xml accumulators : accumulators.qbk : boost.max.id.length=1024 toc.max.depth=4 toc.section.depth=4 chunk.section.depth=2 ; path-constant images_location : html ; boostbook standalone : accumulators : boost.root=../../../.. boost.max.id.length=1024 toc.max.depth=4 toc.section.depth=4 chunk.section.depth=2 accdoc statsdoc opdoc pdf:img.src.path=$(images_location)/ pdf:boost.url.prefix=http://www.boost.org/doc/libs/release/doc/html ; ############################################################################### alias boostdoc : accumulators : : accdoc statsdoc opdoc : ; explicit boostdoc ; alias boostrelease ; explicit boostrelease ;