# 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 ; # Use Doxygen to emimt 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, ...\"" ; 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" ; # 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 ] ; 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 ; 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" ; xml accumulators : accumulators.qbk : boost.max.id.length=1024 toc.max.depth=4 toc.section.depth=4 chunk.section.depth=2 ; boostbook standalone : accumulators : boost.max.id.length=1024 toc.max.depth=4 toc.section.depth=4 chunk.section.depth=2 accdoc statsdoc opdoc ;