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
10sys.path = sys.path + [os.path.join(RTT_ROOT, 'tools')]
11try:
12    from building import *
13except:
14    print('Cannot found RT-Thread root directory, please check RTT_ROOT')
15    print(RTT_ROOT)
16    exit(-1)
17
18TARGET = 'rtthread.' + rtconfig.TARGET_EXT
19
20AddOption('--run',
21        dest = 'run',
22        type='string',
23        nargs=1,
24        action = 'store',
25        default = "",
26        help = 'Upload or debug application using openocd')
27
28DefaultEnvironment(tools=[])
29env = Environment(tools = ['mingw'],
30    AS = rtconfig.AS, ASFLAGS = rtconfig.AFLAGS,
31    CC = rtconfig.CC, CCFLAGS = rtconfig.CFLAGS,
32    AR = rtconfig.AR, ARFLAGS = '-rc',
33    LINK = rtconfig.LINK, LINKFLAGS = rtconfig.LFLAGS,
34    CXXCOM = '$CXX -o $TARGET -c $CXXFLAGS $_CCCOMCOM $SOURCES')
35
36env.PrependENVPath('PATH', rtconfig.EXEC_PATH)
37env['ASCOM'] = env['ASPPCOM']
38
39Export('RTT_ROOT')
40Export('rtconfig')
41
42SDK_ROOT = os.path.abspath('./')
43
44if os.path.exists(os.path.join(SDK_ROOT, 'libraries')):
45    libraries_path_prefix = os.path.join(SDK_ROOT, 'libraries')
46else:
47    libraries_path_prefix = os.path.join(os.path.dirname(SDK_ROOT), 'libraries')
48
49SDK_LIB = libraries_path_prefix
50Export('SDK_LIB')
51
52
53GDB = rtconfig.GDB
54
55# prepare building environment
56objs = PrepareBuilding(env, RTT_ROOT, has_libcpu=False)
57
58hpm_library = 'hpm_sdk'
59rtconfig.BSP_LIBRARY_TYPE = hpm_library
60
61# include soc
62objs.extend(SConscript(os.path.join(libraries_path_prefix, hpm_library,'soc', rtconfig.SOC_FAMILY, rtconfig.CHIP_NAME, 'SConscript')))
63
64# include libraries
65objs.extend(SConscript(os.path.join(libraries_path_prefix, hpm_library, 'SConscript')))
66
67# include components
68objs.extend(SConscript(os.path.join(libraries_path_prefix, hpm_library, 'components', 'SConscript')))
69
70
71# includes rtt drivers
72objs.extend(SConscript(os.path.join(libraries_path_prefix, 'drivers',  'SConscript')))
73
74# make a building
75DoBuilding(TARGET, objs)
76