86 lines
2.2 KiB
Python
86 lines
2.2 KiB
Python
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() + '/../..')
|
|
|
|
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 *
|
|
|
|
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')
|
|
env = Environment(TARGET_ARCH='x86')
|
|
CPPPATH = [
|
|
RTT_ROOT + '/include',
|
|
RTT_ROOT + '/bsp/' + rtconfig.BSP,
|
|
RTT_ROOT + '/components/finsh',
|
|
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/'
|
|
]
|
|
if RTT_RTGUI:
|
|
RTGUI_ROOT = RTT_RTGUI
|
|
else:
|
|
RTGUI_ROOT = RTT_ROOT + '/components/rtgui'
|
|
RTGUI_PATH = [
|
|
RTGUI_ROOT + '/include',
|
|
RTGUI_ROOT + '/common',
|
|
RTGUI_ROOT + '/server',
|
|
RTGUI_ROOT + '/widgets',
|
|
]
|
|
CPPPATH += RTGUI_PATH
|
|
|
|
env.Append(CCFLAGS=rtconfig.CFLAGS)
|
|
env.Append(LINKFLAGS=rtconfig.LFLAGS)
|
|
env.Append(CPPPATH=CPPPATH)
|
|
env.Append(LIBS='rtthread', LIBPATH='../')
|
|
env.Append(CPPDEFINES=['RTT_IN_MODULE'])
|
|
env.PrependENVPath('PATH', rtconfig.EXEC_PATH)
|
|
|
|
PrepareModuleBuilding(env, RTT_ROOT)
|
|
|
|
#dir = app + '/build/' + rtconfig.BSP
|
|
dir = app + '/build/'
|
|
objs = SConscript(app + '/Sconscript', variant_dir=dir, duplicate=0)
|
|
TARGET = dir + '/' + app + '.' + rtconfig.TARGET_EXT
|
|
|
|
# build program
|
|
#env.Program(TARGET, objs)
|
|
env.SharedLibrary(TARGET, objs)
|