X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=Examples%2FSConscript;h=9ef20a073359a11d0a5e6c91b35c88952c7248be;hb=fd884ba2ba992b5032c0644ade77613074216767;hp=545a382c6f7e656ab8ee4e244878d80c1e0f37e1;hpb=2bb6d62e727b420b3554a77641b550da40d81a9e;p=senf.git diff --git a/Examples/SConscript b/Examples/SConscript index 545a382..9ef20a0 100644 --- a/Examples/SConscript +++ b/Examples/SConscript @@ -1,39 +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")) - -env.Clean('all','Mainpage.dox') -env.Clean('all_docs','Mainpage.dox') +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)