X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=Examples%2FSConscript;h=9ef20a073359a11d0a5e6c91b35c88952c7248be;hb=fd884ba2ba992b5032c0644ade77613074216767;hp=d36619ff57eccbf72b8d22c01ecd0d73423653b7;hpb=77191ea0291fb6c2ad0a472c83258722bf221f8f;p=senf.git diff --git a/Examples/SConscript b/Examples/SConscript index d36619f..9ef20a0 100644 --- a/Examples/SConscript +++ b/Examples/SConscript @@ -1,36 +1,26 @@ -import sys, glob, os.path, datetime -sys.path.append('senfscons') +# -*- python -*- + Import('env') -import SENFSCons +import SENFSCons, glob ########################################################################### -import yaptu - -HOWTOS = [] -for dox in sorted(glob.glob("*/Mainpage.dox")): - title = ([None] + [ line.split('\\mainpage',1)[-1].strip() for line in file(dox) - if '\\mainpage' in line ])[-1] - if title: - HOWTOS.append( (dox.split('/',1)[0], title) ) - -MAINPAGE=""" -/** \mainpage Examples - - \htmlonly -
- -{{ for name, title in HOWTOS: -
${name}
${title}
-}} - -
- \endhtmlonly - */ -""" - -file("Mainpage.dox","w").write(yaptu.process(MAINPAGE, globals(), env.Dictionary())) - -SConscript(glob.glob("*/SConscript")) +SENFSCons.IndexPage(env, 'Mainpage.dox', title="Examples") SENFSCons.Doxygen(env) + +for sconstruct in glob.glob("*/SConstruct"): + dir=env.File(sconstruct).dir + example=env.Command(dir.File('.example.phony'), env.Alias('default'), + [ '$SCONS -C $EXAMPLEDIR' ], + CONCURRENCY_LEVEL=1, EXAMPLEDIR=dir) + env.Alias('examples', example) + if env.GetOption('clean') and ('all' in BUILD_TARGETS or 'examples' in BUILD_TARGETS): + env.Clone(CONCURRENCY_LEVEL=1, EXAMPLEDIR=dir).Execute([ '$SCONS -C $EXAMPLEDIR -c' ]) + + +for dox in glob.glob("*/Doxyfile"): + extra_sources = [ eval(line.split(':',1)[1]) + for line in file(dox) + if line.startswith("# extra_source: ") ] + SENFSCons.Doxygen(env, doxyfile=dox, extra_sources=extra_sources)