#   Copyright (c) 2007 Axel Wachtler
#   All rights reserved.
#
#   Redistribution and use in source and binary forms, with or without
#   modification, are permitted provided that the following conditions
#   are met:
#
#   * Redistributions of source code must retain the above copyright
#     notice, this list of conditions and the following disclaimer.
#   * Redistributions in binary form must reproduce the above copyright
#     notice, this list of conditions and the following disclaimer in the
#     documentation and/or other materials provided with the distribution.
#   * Neither the name of the authors nor the names of its contributors
#     may be used to endorse or promote products derived from this software
#     without specific prior written permission.
#
#   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
#   AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
#   IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
#   ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
#   LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
#   CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
#   SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
#   INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
#   CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
#   ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
#   POSSIBILITY OF SUCH DAMAGE.

# $Id$

#=== modules ==================================================================
import os
from pprint import pprint as pp

Import("doc")

#=== setup build environment ==================================================
xdoc = doc.Clone()

xdoc['dir_build'] = xdoc.Dir(".")
xdoc['dox_install_dir'] = xdoc.Dir("$dox_install_dir/xmpl")
xdoc['dox_title'] = "Examples"
xdoc['dox_source_browser'] = "YES"
xdoc['dox_generate_tagfile'] = "xmpl.tag"
xdoc['dox_tagfiles'] = "\
	./install/doc/usr/usr.tag=../usr\
"
xdoc['dox_example_path'] = "./Src/Xmpl"
#=== targets ==========================================================

xdoc["dox_input_files"] = "\
    ${dir_top}/Doc/Usr/xmpl.dox " + \
    " ".join([ '#'+ f for f in xdoc.Glob("Src/Xmpl/*.[hc]")])
#=== targets ==========================================================

doxyfile = xdoc.DoxyfileTransformer("Doxyfile.xmpl","${dir_src_doc}/Doxyfile.in")
htmlfile = xdoc.Command("${dox_install_dir}/index.html",
                         [doxyfile, "${dir_src_doc}/uracoli.css",
                         "${dir_src_doc}/header.html", "${dir_src_doc}/footer.html",],
                         ["doxygen $SOURCE"])

xdoc.Depends(htmlfile, xdoc.Split("${dox_input_files} ${dir_top}/LICENSE"))
xmplsrc = xdoc.Glob("${dir_top}/Src/Xmpl/xmpl*.[hc]")
xdoc.Depends(doxyfile, xmplsrc)
