import os, os.path, site_tools.Yaptu, types, re, fnmatch
+import SCons.Util
from SCons.Script import *
senfutildir = os.path.dirname(__file__)
env,
BoolVariable('final', 'Build final (optimized) build', False),
BoolVariable('debug', 'Link in debug symbols', False),
+ BoolVariable('profile', 'compile and link with the profiling enabled option', False),
)
# Set nice default options
env.Append(
- CXXFLAGS = [ '-Wall', '-Woverloaded-virtual' ],
+ CXXFLAGS = [ '-Wall', '-Woverloaded-virtual', "${profile and '-pg' or None}" ],
CXXFLAGS_final = [ '-O3' ],
CXXFLAGS_normal = [ '-O2', '-g' ],
CXXFLAGS_debug = [ '-O0', '-g' ],
+ LINKFLAGS = [ "${profile and '-pg' or None}" ],
LINKFLAGS_normal = [ '-Wl,-S' ],
LINKFLAGS_debug = [ '-g' ],
)
testSources.sort()
return (sources, testSources)
+def CleanGlob(env, targets, patterns):
+ if env.GetOption('clean'):
+ targets = SCons.Util.flatten(targets)
+ for target in targets:
+ if target in BUILD_TARGETS:
+ patterns = map(str,SCons.Util.flatten(env.subst_list(patterns)))
+ files = [ os.path.join(path,f)
+ for path, subdirs, files in os.walk('.')
+ for pattern in patterns
+ for f in fnmatch.filter(files,pattern) ]
+ return env.Clean(target, files)
+
tagfiles = None
def Doxygen(env, doxyheader=None, doxyfooter=None, doxycss=None, mydoxyfile=False, senfdoc_path=[],