X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=SConstruct;h=1c63e04011ba1f63063f82e66975009ae57a1c24;hb=75e3ce2a5296d017a459c098c40c31ae799d0823;hp=7cf0362731cd802a138a7d6112d6fc59adcb8ab1;hpb=6b43243d9b1a3b9720efdacc6f02364877ebe2aa;p=senf.git diff --git a/SConstruct b/SConstruct index 7cf0362..1c63e04 100644 --- a/SConstruct +++ b/SConstruct @@ -1,8 +1,6 @@ # -*- python -*- -import sys, glob, os.path, datetime, pwd, time, fnmatch, string -sys.path.append(Dir('#/senfscons').abspath) -sys.path.append(Dir('#/doclib').abspath) +import sys, glob, os.path, fnmatch import SENFSCons, senfutil ########################################################################### @@ -11,14 +9,14 @@ import SENFSCons, senfutil env = Environment() # Load all the local SCons tools -env.Tool('Doxygen', [ 'senfscons' ]) -env.Tool('Dia2Png', [ 'senfscons' ]) -env.Tool('PkgDraw', [ 'senfscons' ]) -env.Tool('InstallSubdir', [ 'senfscons' ]) -env.Tool('CopyToDir', [ 'senfscons' ]) -env.Tool('Boost', [ 'senfscons' ]) -env.Tool('CombinedObject', [ 'senfscons' ]) -env.Tool('PhonyTarget', [ 'senfscons' ]) +env.Tool('Doxygen') +env.Tool('Dia2Png') +env.Tool('PkgDraw') +env.Tool('InstallSubdir') +env.Tool('CopyToDir') +env.Tool('Boost') +env.Tool('CombinedObject') +env.Tool('PhonyTarget') env.Help(""" Additional top-level build targets: @@ -52,7 +50,7 @@ env.Append( ENV = { 'PATH' : os.environ.get('PATH') }, CLEAN_PATTERNS = [ '*~', '#*#', '*.pyc', 'semantic.cache', '.sconsign*', '.sconsign' ], - CPPPATH = [ '#/include' ], + CPPPATH = [ '#' ], LOCALLIBDIR = '#', LIBPATH = [ '$LOCALLIBDIR' ], LIBS = [ '$LIBSENF$LIBADDSUFFIX', 'rt', '$BOOSTREGEXLIB', @@ -60,11 +58,11 @@ env.Append( TEST_EXTRA_LIBS = [ ], PREFIX = '/usr/local', - LIBINSTALLDIR = '$PREFIX/lib', - BININSTALLDIR = '$PREFIX/bin', - INCLUDEINSTALLDIR = '$PREFIX/include', + LIBINSTALLDIR = '$PREFIX', + BININSTALLDIR = '$PREFIX', + INCLUDEINSTALLDIR = '$PREFIX', OBJINSTALLDIR = '$LIBINSTALLDIR', - DOCINSTALLDIR = '$PREFIX/doc', + DOCINSTALLDIR = '$PREFIX/docs', CPP_INCLUDE_EXTENSIONS = [ '.h', '.hh', '.ih', '.mpp', '.cci', '.ct', '.cti' ], CPP_EXCLUDE_EXTENSIONS = [ '.test.hh' ], @@ -113,26 +111,18 @@ Export('env') if not os.path.exists("Doxyfile.local"): Execute(Touch("Doxyfile.local")) -# Create local_config.h -if not env.GetOption('clean') and not os.path.exists("local_config.hh"): - Execute(Touch("local_config.hh")) - if not env.GetOption('clean') and not os.path.exists(".prepare-stamp") \ and not os.environ.get("SCONS") and COMMAND_LINE_TARGETS != [ 'prepare' ]: env.Execute([ "scons prepare" ]) -# Load SConscripts. Need to load some first (they change the global environment) -initSConscripts = [ - "debian/SConscript", - "doclib/SConscript", -] - -SConscript(initSConscripts) - -if os.path.exists('SConscript.local'): - SConscript('SConscript.local') +# Load SConscripts -SConscript(list(set(glob.glob("*/SConscript")) - set(initSConscripts))) +SConscript("debian/SConscript") +if os.path.exists('SConscript.local') : SConscript('SConscript.local') +SConscript("senf/SConscript") +SConscript("Examples/SConscript") +SConscript("HowTos/SConscript") +SConscript("doclib/SConscript") ########################################################################### # Define build targets @@ -141,10 +131,9 @@ SConscript(list(set(glob.glob("*/SConscript")) - set(initSConscripts))) env.Depends(SENFSCons.Doxygen(env), env.Value(env['ENV']['REVISION'])) #### libsenf.a -libsenf = env.Library(env.subst("$LIBSENF$LIBADDSUFFIX"), env['ALLOBJECTS']) +libsenf = env.Library("$LOCALLIBDIR/${LIBSENF}${LIBADDSUFFIX}", env['ALLOBJECTS']) env.Default(libsenf) -env.InstallSubdir(target = '$INCLUDEINSTALLDIR', source = [ 'config.hh' ]) env.Install('$LIBINSTALLDIR', libsenf) #### install_all, default, all_tests, all @@ -172,7 +161,7 @@ env.PhonyTarget('valgrind', [ 'all_tests' ], [ """ #### clean env.Clean('all', '.prepare-stamp') env.Clean('all', libsenf) -env.Clean('all', 'linklint') +env.Clean('all', env.Dir('linklint')) # env.Dir to disambiguate from linklint PhonyTarget if env.GetOption('clean'): env.Clean('all', [ os.path.join(path,f)