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