'generate_tagfile': 'doc/${MODULE}.tag' },
MODULE = module )
env.Append(ALL_TAGFILES = tagfile[0].abspath)
- env.Depends(tagfile, env.File('#/doclib/doxygen.sh'))
+ env.Depends(tagfile, [ env.File('#/doclib/doxygen.sh'),
+ env.File('#/doclib/tag-munge.xsl') ])
# Rule to generate HTML documentation
doc = env.Doxygen(doxyfile,
'output_dir' : 'doc',
'html_dir' : 'html',
'html' : 'YES' } )
- env.Depends(doc, env.File('#/doclib/doxygen.sh'))
+ env.Depends(doc, [ env.File('#/doclib/doxygen.sh'),
+ env.File('#/doclib/html-munge.xsl') ])
# Copy the extra_sources (the images) into the documentation directory
# (need to exclude the 'clean' case otherwise there are multiple ways to clean the copies)
-## \file
-# \brief Dia2Png builder
-
-## \package senfscons.Dia2Png
-# \brief Build a PNG file from a DIA file
-#
-# This builder will convert a given DIA file into a PNG image. The
-# size of the target file is specified by giving a preferred DPI value
-# and a maximum width. The Builder will automatically fetch the
-# correct aspect ratio from the dia file.
-#
-# \par Construction Envrionment Variables:
-# <table class="senf">
-# <tr><td>\c DIACOM</td><td>dia command, defaults to \c dia</td></tr>
-# <tr><td>\c DIA2PNGDPI</td><td>resolution of converted image, defaults to 115</td></tr>
-# <tr><td>\c DIA2PNGMAXWIDTH</td><td>maximum image width, defaults to 800</td></tr>
-# </table>
-#
-# \ingroup builder
-
import os
import SCons.Builder, SCons.Action
# License along with this library; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-# The Modifications are Copyright (C) 2006,2007
+# The Modifications are Copyright (C) 2006,2007,2008,2009
# Fraunhofer Institute for Open Communication Systems (FOKUS)
# Competence Center NETwork research (NET), St. Augustin, GERMANY
# Stefan Bund <g0dil@berlios.de>
-## \file
-# \brief Doxygen builder
-
-## \package senfscons.Doxygen
-# \brief Doxygen Documentation Builder
-#
-# This builder will invoke \c doxygen to build software
-# documentation. The doxygen builder only takes the name of the
-# doxyfile as it's source file. The builder parses that doxygen
-# configuration file.
-#
-# The builder will automatically find all sources on which the
-# documentation depends. This includes
-# \li the source code files (as selected by the \c RECURSIVE, \c
-# FILE_PATTERNS, \c INPUT and \c EXCLUDE_PATTERNS doxygen
-# directives
-# \li the \c HTML_HEADER and \c HTML_FOOTER
-# \li all referenced \c TAGFILES
-# \li the \c INPUT_FILTER
-# \li all included doxyfiles (via \c @INCLUDE)
-#
-# The builder will emit a list of targets built by doxygen. This
-# depends on the types of documentation built.
-#
-# The builder will also generate additional commands to resolve
-# cross-references to other module documentations. This is based on
-# the \c TAGFILES used. Tagfiles built in the same project in other
-# modules are automatically found and the links will be resolved
-# correctly. To resolve links from external tagfiles, you may specify
-# <i>tagfilename</i><tt>_DOXY_URL</tt> as a construction environment
-# variable to specify the path to resolve references from the given
-# tagfile to. <i>tagfilename</i> is the uppercased basename of the
-# tagfile used.
-#
-# \par Construction Envrionment Variables:
-# <table class="senf">
-# <tr><td>\c DOXYGEN</td><td>doxygen command, defaults to \c doxygen</td></tr>
-# <tr><td><i>tag</i><tt>_DOXY_URL</tt></td><td>external tagfile resolve URL</td></tr>
-# </table>
-#
-# \ingroup builder
-
# I (g0dil@berlios.de) have been fighting 4 problems in this
# implementation:
# - A Directory target will *not* call any source scanners
# - Theres a bug in SCons which will produce an error message for
# directory targets if dir.sources is not set explicitly
# - the first argument to env.Clean() must be the command line target,
-# with which the scons was invoked. This does not help to add
-# aditional files or directories to be cleaned if you don't know
-# that target (it's not possible to say 'if you clean this file,
-# also clean that one' hich is, what I had expected env.Clean to
-# do).
+# with which scons was invoked. This does not help to add aditional
+# files or directories to be cleaned if you don't know that target
+# (it's not possible to say 'if you clean this file, also clean that
+# one' which is, what I had expected env.Clean to do).
#
# Together, these problems have produced several difficulties. I have
# solved them by
# cause source scanners to be invoked
# - Adding the documentation directory as a target (so it will be
# cleaned up which env.Clean doesn't help me to do), but *only* if
-# scons is called to with the -c option
+# scons is called with the -c option
# - Setting dir.sources to the known source-list to silence the error
# message whenever a directory is added as a target
#