env = Environment(CCFLAGS='-O3') 或者 env = Environment() env.Append(CCFLAGS = ['-g','-O3'])
env.Append(CPPPATH = ['/usr/local/include/']) #头文件包含路径
或者
env= Environment()
env.AppendENVPath(CPPPATH=['.'])
env.Append(CPPDEFINES=['BIG_ENDIAN']) #预处理定义
env.Append(CPPDEFINES={'RELEASE_BUILD' :'1'}) #包含预处理值定义
env= Environment(CPPDEFINES=["BUILD", "DEBUG=0","LINUX=1"])
env.Append(LIBPATH = ['/usr/local/lib/']) #添加库路径
env.Append(LIBS = ['SDL_image','GL']) #添加需要链接的库
Program() buildan executable from one or more object files, or C, C++, D or Fortran sourcefiles
t = env.Program(target='bar',source=['foo.c'], CCFLAGS='$CCFLAGS-g')
Default(t) #设置默认生成的程序
Program(Glob('*.c')) #包含本目录下所有.c文件
Program([Glob('*.c'),Glob('ext/*.c')])
StaticObject()or Object() builds an objectfile; .o in POSIX or .obj in Win32
StaticLibrary() buildsa library file; .a in POSIX or .lib in Win32
env= Environment()
env.StaticLibrary(target='foo',source=Split('l1.c l2.c'))
env.StaticLibrary(target='bar',source=['l3.c', 'l4.c'])
SharedLibrary() buildsa shared library; a .so on Posix, a .dll in Win32
env= Environment()
env.SharedLibrary(target='foo',source=['l5.c', 'l6.c'])
env.SharedLibrary(target='bar',source=Split('l7.c l8.c'))
env= Environment(LIBS='mylib', LIBPATH=['.'])
env.Library(target='mylib',source=Split('l1.c l2.c'))
env.Program(target='prog',source=['p1.c', 'p2.c'])
SConscript('lib/SConscript')
SConscript('test/SConscript')
# SConstruct
env= Environment()
env.Program(target='foo',source='foo.c')
SConscript('sub/SConscript')
# sub/SConscript
env= Environment()
#Builds sub/foo from sub/foo.c
env.Program(target='foo',source='foo.c')
SConscript('dir/SConscript')
# sub/dir/SConscript:
env= Environment()
#Builds sub/dir/foo from sub/dir/foo.c
env.Program(target='foo',source='foo.c')