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')] 11from building import * 12 13def bsp_pkg_check(): 14 import subprocess 15 16 check_paths = [ 17 os.path.join("packages", "nxp-lpc-series-latest"), 18 ] 19 20 need_update = not all(os.path.exists(p) for p in check_paths) 21 22 if need_update: 23 print("\n===============================================================================") 24 print("Dependency packages missing, please running 'pkgs --update'...") 25 print("If no packages are fetched, run 'pkgs --upgrade' first, then 'pkgs --update'...") 26 print("===============================================================================") 27 exit(1) 28 29RegisterPreBuildingAction(bsp_pkg_check) 30 31TARGET = 'rtthread.' + rtconfig.TARGET_EXT 32 33DefaultEnvironment(tools=[]) 34env = Environment(tools = ['mingw'], 35 AS = rtconfig.AS, ASFLAGS = rtconfig.AFLAGS, 36 CC = rtconfig.CC, CFLAGS = rtconfig.CFLAGS, 37 CXX = rtconfig.CXX, CXXFLAGS = rtconfig.CXXFLAGS, 38 AR = rtconfig.AR, ARFLAGS = '-rc', 39 LINK = rtconfig.LINK, LINKFLAGS = rtconfig.LFLAGS) 40env.PrependENVPath('PATH', rtconfig.EXEC_PATH) 41 42if rtconfig.PLATFORM in ['iccarm']: 43 env.Replace(CCCOM = ['$CC $CFLAGS $CPPFLAGS $_CPPDEFFLAGS $_CPPINCFLAGS -o $TARGET $SOURCES']) 44 env.Replace(ARFLAGS = ['']) 45 env.Replace(LINKCOM = env["LINKCOM"] + ' --map project.map') 46 47Export('RTT_ROOT') 48Export('rtconfig') 49 50# prepare building environment 51objs = PrepareBuilding(env, RTT_ROOT, has_libcpu=False) 52 53# make a building 54DoBuilding(TARGET, objs) 55