1import os
2import sys
3import rtconfig
4
5if os.getenv('RTT_ROOT'):
6    RTT_ROOT = os.getenv('RTT_ROOT')
7else:
8    RTT_ROOT = os.path.normpath(os.getcwd() + '/../..')
9
10# set RTT_ROOT
11#if not os.getenv("RTT_ROOT"):
12    #RTT_ROOT="rt-thread"
13
14sys.path = sys.path + [os.path.join(RTT_ROOT, 'tools')]
15try:
16    from building import *
17except:
18    print('Cannot found RT-Thread root directory, please check RTT_ROOT')
19    print(RTT_ROOT)
20    exit(-1)
21
22TARGET = 'rt-thread.' + rtconfig.TARGET_EXT
23
24DefaultEnvironment(tools=[])
25env = Environment(tools = ['mingw'],
26    AS = rtconfig.AS, ASFLAGS = rtconfig.AFLAGS,
27    CC = rtconfig.CC, CFLAGS = rtconfig.CFLAGS,
28    AR = rtconfig.AR, ARFLAGS = '-rc',
29    CXX = rtconfig.CXX, CXXFLAGS = rtconfig.CXXFLAGS,
30    LINK = rtconfig.LINK, LINKFLAGS = rtconfig.LFLAGS)
31env.PrependENVPath('PATH', rtconfig.EXEC_PATH)
32
33if rtconfig.PLATFORM in ['iccarm']:
34    env.Replace(CCCOM = ['$CC $CFLAGS $CPPFLAGS $_CPPDEFFLAGS $_CPPINCFLAGS -o $TARGET $SOURCES'])
35    env.Replace(ARFLAGS = [''])
36    env.Replace(LINKCOM = env["LINKCOM"] + ' --map rt-thread.map')
37
38Export('RTT_ROOT')
39Export('rtconfig')
40
41SDK_ROOT = os.path.abspath('./')
42
43if os.path.exists(SDK_ROOT + '/libraries'):
44    libraries_path_prefix = SDK_ROOT + '/libraries'
45else:
46    libraries_path_prefix = os.path.dirname(SDK_ROOT) + '/libraries'
47
48SDK_LIB = libraries_path_prefix
49Export('SDK_LIB')
50
51# prepare building environment
52objs = PrepareBuilding(env, RTT_ROOT, has_libcpu=False)
53
54tm4c123_library = 'TivaWare_C_series'
55rtconfig.BSP_LIBRARY_TYPE = tm4c123_library
56
57# include libraries
58objs.extend(SConscript(os.path.join(libraries_path_prefix, tm4c123_library, 'SConscript')))
59
60# include drivers
61objs.extend(SConscript(os.path.join(libraries_path_prefix, 'Drivers', 'SConscript')))
62
63# make a building
64DoBuilding(TARGET, objs)
65