1import os 2import sys 3import rtconfig 4import re 5 6if os.getenv('RTT_ROOT'): 7 RTT_ROOT = os.getenv('RTT_ROOT') 8else: 9 RTT_ROOT = os.path.normpath(os.getcwd() + '/../../..') 10 11sys.path = sys.path + [os.path.join(RTT_ROOT, 'tools')] 12from building import * 13 14TARGET = 'rtthread.' + rtconfig.TARGET_EXT 15TRACE_CONFIG = "" 16 17content = "" 18with open("rtconfig.h") as f: 19 for line in f.readlines(): 20 if line.find("RT_BACKTRACE_FUNCTION_NAME") != -1: 21 for token in line.split(" "): 22 if re.match(r'RT_BACKTRACE_FUNCTION_NAME$', token, flags=0): 23 TRACE_CONFIG = " " 24 25DefaultEnvironment(tools=[]) 26env = Environment(tools = ['mingw'], 27 AS = rtconfig.AS, ASFLAGS = rtconfig.AFLAGS + TRACE_CONFIG, 28 CC = rtconfig.CC, CFLAGS = rtconfig.CFLAGS + TRACE_CONFIG, 29 CXX = rtconfig.CXX, CXXFLAGS = rtconfig.CXXFLAGS + TRACE_CONFIG, 30 AR = rtconfig.AR, ARFLAGS = '-rc', 31 LINK = rtconfig.LINK, LINKFLAGS = rtconfig.LFLAGS) 32env.PrependENVPath('PATH', rtconfig.EXEC_PATH) 33env['ASCOM'] = env['ASPPCOM'] 34env['LINKCOM'] = '$LINK -o $TARGET $LINKFLAGS $__RPATH $SOURCES $_LIBDIRFLAGS -Wl,--start-group $_LIBFLAGS -Wl,--end-group' 35 36Export('RTT_ROOT') 37Export('rtconfig') 38 39SDK_ROOT = os.path.abspath('./') 40 41drivers_path_prefix = os.path.dirname(SDK_ROOT) + '/drivers' 42 43# prepare building environment 44objs = PrepareBuilding(env, RTT_ROOT) 45 46# include libraries 47objs.extend(SConscript(drivers_path_prefix + '/SConscript', variant_dir='build/drivers', duplicate=0)) 48 49# make a building 50DoBuilding(TARGET, objs) 51