import os import sys import SCons.cpp import rtconfig if os.getenv('RTT_ROOT'): RTT_ROOT = os.getenv('RTT_ROOT') else: RTT_ROOT = os.path.normpath(os.getcwd() + '/../..') sys.path = sys.path + [os.path.join(RTT_ROOT, 'tools')] from building import * Export('RTT_ROOT') # add target option AddOption('--app', dest='app', nargs=1, type='string', action='store', metavar='DIR', help='installation prefix') # add target option AddOption('--type', dest='type', nargs=1, type='string', action='store', metavar='DIR', help='installation prefix') app = GetOption('app') if GetOption('type') == 'ext': linkflags = rtconfig.LFLAGS + ' -e 0' else: linkflags = rtconfig.LFLAGS + ' -e main' env = Environment(tools = ['mingw'], AS = rtconfig.AS, ASFLAGS = rtconfig.AFLAGS, CC = rtconfig.CC, CCFLAGS = rtconfig.CFLAGS, CXX = rtconfig.CXX, AR = rtconfig.AR, ARFLAGS = '-rc', LINK = rtconfig.LINK, LINKFLAGS = linkflags, CPPPATH = [ RTT_ROOT + '/include', RTT_ROOT + '/bsp/' + rtconfig.BSP, RTT_ROOT + '/components/finsh', RTT_ROOT + '/components/rtgui/include', RTT_ROOT + '/components/rgtui/common', RTT_ROOT + '/components/rtgui/server', RTT_ROOT + '/components/rtgui/widgets', RTT_ROOT + '/components/libdl', RTT_ROOT + '/components/external/ftk/ftk/src/os/rt-thread', RTT_ROOT + '/components/external/ftk/ftk/src/demos', RTT_ROOT + '/components/external/ftk/ftk/apps/common', RTT_ROOT + '/components/external/ftk/ftk/src', RTT_ROOT + '/components/dfs', RTT_ROOT + '/components/dfs/include', RTT_ROOT + '/components/libc/newlib', RTT_ROOT + '/components/external/cairo/cairo-1.10.2/src', RTT_ROOT + '/components/external/cairo/' ]) env.PrependENVPath('PATH', rtconfig.EXEC_PATH) PrepareModuleBuilding(env, RTT_ROOT) dir = app + '/build/' + rtconfig.BSP objs = SConscript(app + '/Sconscript', variant_dir=dir, duplicate=0) TARGET = dir + '/' + app + '.' + rtconfig.TARGET_EXT # build program env.Program(TARGET, objs)