12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- 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 *
- TARGET = 'rtthread-win32.' + rtconfig.TARGET_EXT
- env = Environment()
- Export('RTT_ROOT')
- Export('rtconfig')
- 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
- # 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)
- # build program
- env.Program(TARGET, objs)
- # end building
- EndBuilding(TARGET)
|