114 lines
2.9 KiB
Python
Executable File
114 lines
2.9 KiB
Python
Executable File
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)
|