1import os 2import sys 3import rtconfig 4import re 5RTT_ROOT = os.getenv('RTT_ROOT') or os.path.join('..', '..', '..', '..') 6 7sys.path = sys.path + [os.path.join(RTT_ROOT, 'tools')] 8from building import * 9 10def bsp_pkg_check(): 11 import subprocess 12 13 check_paths = [ 14 os.path.join("packages", "nxp-imx6ul-sdk-latest"), 15 ] 16 17 need_update = not all(os.path.exists(p) for p in check_paths) 18 19 if need_update: 20 print("\n===============================================================================") 21 print("Dependency packages missing, please running 'pkgs --update'...") 22 print("If no packages are fetched, run 'pkgs --upgrade' first, then 'pkgs --update'...") 23 print("===============================================================================") 24 exit(1) 25 26RegisterPreBuildingAction(bsp_pkg_check) 27 28TARGET = 'rtthread.' + rtconfig.TARGET_EXT 29 30content = "" 31TRACE_CONFIG = '' 32with open("rtconfig.h") as f: 33 for line in f.readlines(): 34 if line.find("RT_BACKTRACE_FUNCTION_NAME") != -1: 35 for token in line.split(" "): 36 if re.match(r'RT_BACKTRACE_FUNCTION_NAME$', token, flags=0): 37 TRACE_CONFIG = " -mpoke-function-name" 38 39DefaultEnvironment(tools=[]) 40env = Environment(tools = ['mingw'], 41 AS = rtconfig.AS, ASFLAGS = rtconfig.AFLAGS + TRACE_CONFIG, 42 CC = rtconfig.CC, CFLAGS = rtconfig.CFLAGS + TRACE_CONFIG, 43 CXX = rtconfig.CXX, CXXFLAGS = rtconfig.CXXFLAGS + TRACE_CONFIG, 44 AR = rtconfig.AR, ARFLAGS = '-rc', 45 LINK = rtconfig.LINK, LINKFLAGS = rtconfig.LFLAGS) 46env.PrependENVPath('PATH', rtconfig.EXEC_PATH) 47env['ASCOM'] = env['ASPPCOM'] 48env['LINKCOM'] = '$LINK -o $TARGET $LINKFLAGS $__RPATH $SOURCES $_LIBDIRFLAGS -Wl,--start-group $_LIBFLAGS -Wl,--end-group' 49 50Export('RTT_ROOT') 51Export('rtconfig') 52 53# prepare building environment 54objs = PrepareBuilding(env, RTT_ROOT) 55 56if GetDepend('RT_USING_SMART'): 57 # use smart link.lds 58 env['LINKFLAGS'] = env['LINKFLAGS'].replace('link.lds', 'link_smart.lds') 59 60# make a building 61DoBuilding(TARGET, objs) 62