import os import sys import rtconfig if os.getenv('RTT_ROOT'): RTT_ROOT = os.getenv('RTT_ROOT') else: RTT_ROOT = os.path.normpath(os.getcwd() + '/../..') if os.getenv('RTT_RTGUI'): RTT_RTGUI = os.getenv('RTT_RTGUI') else: # set the rtgui root directory by hand # empty string means use the RTGUI in svn RTT_RTGUI = os.path.normpath(r'F:\Project\git\rt-gui\components\rtgui') # RTT_RTGUI ='' sys.path = sys.path + [os.path.join(RTT_ROOT, 'tools')] from building import * env = Environment() Export('RTT_ROOT') Export('rtconfig') if rtconfig.PLATFORM == 'cl': TARGET = 'rtthread-win32.' + rtconfig.TARGET_EXT libs = Split(''' winmm gdi32 winspool comdlg32 advapi32 shell32 ole32 oleaut32 uuid odbc32 odbccp32 ''') definitions = Split(''' WIN32 _DEBUG _CONSOLE MSVC _TIME_T_DEFINED ''') env.Append(CCFLAGS=rtconfig.CFLAGS) env.Append(LINKFLAGS=rtconfig.LFLAGS) env['LIBS']=libs env['CPPDEFINES']=definitions elif rtconfig.PLATFORM == 'mingw': libs = Split(''' winmm gdi32 winspool comdlg32 advapi32 shell32 ole32 oleaut32 uuid odbc32 odbccp32 ''') TARGET = 'rtthread-win32.' + rtconfig.TARGET_EXT env = Environment(tools = ['mingw'], AS = rtconfig.AS, ASFLAGS = rtconfig.AFLAGS, CC = rtconfig.CC, CCFLAGS = rtconfig.CFLAGS, AR = rtconfig.AR, ARFLAGS = '-rc', LINK = rtconfig.LINK, LINKFLAGS = rtconfig.LFLAGS) env['LIBS']=libs env.PrependENVPath('PATH', rtconfig.EXEC_PATH) else: TARGET = 'rtthread' env.Append(CCFLAGS=rtconfig.CFLAGS) env.Append(LINKFLAGS=rtconfig.LFLAGS) env.Append(LIBS=['m']) # prepare building environment objs = PrepareBuilding(env, RTT_ROOT, has_libcpu=False, remove_components=['rtgui']) if GetDepend('RT_USING_RTGUI'): sdl_lib = ['SDL', 'SDLmain'] sdl_lib_path = [os.path.abspath('SDL/lib/x86')] sdl_include_path = [os.path.abspath('SDL/include')] env.Append(LIBS=sdl_lib) env.Append(LIBPATH=sdl_lib_path) env.Append(CPPPATH=sdl_include_path) if RTT_RTGUI: objs += SConscript(os.path.join(RTT_RTGUI, 'SConscript'), variant_dir='build/components/rtgui', duplicate=0) objs = objs + SConscript(RTT_RTGUI+'/../../demo/examples/SConscript', variant_dir='build/examples/gui', duplicate=0) else: objs += SConscript(os.path.join(RTT_ROOT + '/components/rtgui', 'SConscript'), variant_dir='build/components/rtgui', duplicate=0) objs = objs + SConscript(RTT_ROOT + '/examples/gui/SConscript', variant_dir='build/examples/gui', duplicate=0) if GetDepend('RT_USING_TC'): objs = objs + SConscript(RTT_ROOT + '/examples/kernel/SConscript', variant_dir = 'build/tc/kernel', duplicate=0) # build program program = env.Program(TARGET, objs) # end building EndBuilding(TARGET, program)