#!SCons __author__ = "ch0wn3d" Import('env') # print env['LIBS_PREFIX'] # Set compile flags #env.Append(CCFLAGS=Split('-Wall -O3 -fvisibility=hidden -m32 -march=i686')) #env.Append(CCFLAGS=Split('-Wall -fvisibility=hidden -m32 -ggdb3')) #env.Append(LINKFLAGS=Split('-m32 -static -s')) #env.Append(CPPPATH=['#/libs/', '#/libs/local/include/']) #env.Append(LIBPATH=['#/libs/local/lib/']) # If libraries is going to be download/build, no need to check for them if (not 'libs' in COMMAND_LINE_TARGETS) and (not GetOption('clean')): conf = Configure(env) # Check for all needed libraries checkLibs = [ conf.CheckLibWithHeader('ghf', 'ghf/ghf.h', 'C++', autoadd=True), conf.CheckLibWithHeader('elf', 'libelf.h', 'C', autoadd=True), conf.CheckLibWithHeader('bfd', 'bfd.h', 'C', autoadd=True), conf.CheckLibWithHeader('opcodes', 'dis-asm.h', 'C', autoadd=True), ] env = conf.Finish() # TODO: Find a better place for that, maybe libs/SConstruct sdkSources = [ env.SharedObject( target='#build/q_math', source='#libs/ioq3/code/qcommon/q_math.c' ), env.SharedObject( target='#build/q_shared', source='#libs/ioq3/code/qcommon/q_shared.c' ), env.SharedObject( target='#build/bg_misc', source='#libs/ioq3/code/game/bg_misc.c' ) ] libQ3h = env.SharedLibrary( target='Q3H', source=['main.cpp', 'hook.cpp', 'UIGame.cpp', 'CGame.cpp', 'Qvm.cpp', 'Q3h.cpp'], CCFLAGS=Split('-Wall -O3 -fvisibility=hidden -m32 -march=i686'), LINKFLAGS=Split('-static -s -nostdlib'), LIBPATH=['#/libs/local/lib/'], CPPPATH=['#/libs/', '#/libs/local/include/'], LIBS=['ghf', 'elf', 'bfd', 'opcodes'] ) """ for x in ['main.cpp', 'hook.cpp', 'UIGame.cpp', 'CGame.cpp', 'Qvm.cpp', 'Q3h.cpp']: Object(x) """ env.Default(libQ3h) env.Clean(libQ3h, '#build')