Import('env') env.core_sources=[] gd_call="" gd_inc="" for x in env.global_defaults: env.core_sources.append("#platform/"+x+"/globals/global_defaults.cpp") gd_inc+='#include "platform/'+x+'/globals/global_defaults.h"\n' gd_call+="\tregister_"+x+"_global_defaults();\n" gd_cpp='#include "globals.h"\n' gd_cpp+=gd_inc gd_cpp+="void Globals::register_global_defaults() {\n"+gd_call+"\n}\n" f = open("global_defaults.cpp","wb") f.write(gd_cpp) f.close() env.add_source_files(env.core_sources,"*.cpp") Export('env') import make_binders env.Command('method_bind.inc', 'make_binders.py', make_binders.run) SConscript('os/SCsub'); SConscript('math/SCsub'); SConscript('io/SCsub'); SConscript('bind/SCsub'); lib = env.Library("core",env.core_sources, LIBSUFFIX=env['platform_libsuffix']) env.Prepend(LIBS=[lib])