import os import sys import rtconfig if os.getenv('RTT_ROOT'): RTT_ROOT = os.getenv('RTT_ROOT') else: RTT_ROOT = os.path.normpath(os.getcwd() + '/../../..') sys.path = sys.path + [os.path.join(RTT_ROOT, 'tools')] try: from building import * except: print('Cannot found RT-Thread root directory, please check RTT_ROOT') print(RTT_ROOT) exit(-1) def bsp_pkg_check(): import subprocess need_update = True for p in os.listdir("packages"): if p.startswith("hpm_sdk-"): need_update = False break if need_update: print("\n===============================================================================") print("Dependency packages missing, please running 'pkgs --update'...") print("If no packages are fetched, run 'pkgs --upgrade' first, then 'pkgs --update'...") print("===============================================================================") exit(1) RegisterPreBuildingAction(bsp_pkg_check) TARGET = 'rtthread.' + rtconfig.TARGET_EXT AddOption('--run', dest = 'run', type='string', nargs=1, action = 'store', default = "", help = 'Upload or debug application using openocd') DefaultEnvironment(tools=[]) env = Environment(tools = ['mingw'], AS = rtconfig.AS, ASFLAGS = rtconfig.AFLAGS, CC = rtconfig.CC, CCFLAGS = rtconfig.CFLAGS, AR = rtconfig.AR, ARFLAGS = '-rc', LINK = rtconfig.LINK, LINKFLAGS = rtconfig.LFLAGS, CXXCOM = '$CXX -o $TARGET -c $CXXFLAGS $_CCCOMCOM $SOURCES') env.PrependENVPath('PATH', rtconfig.EXEC_PATH) env['ASCOM'] = env['ASPPCOM'] Export('RTT_ROOT') Export('rtconfig') SDK_ROOT = os.path.abspath('./') if os.path.exists(os.path.join(SDK_ROOT, 'libraries')): libraries_path_prefix = os.path.join(SDK_ROOT, 'libraries') else: libraries_path_prefix = os.path.join(os.path.dirname(SDK_ROOT), 'libraries') SDK_LIB = libraries_path_prefix Export('SDK_LIB') GDB = rtconfig.GDB # prepare building environment objs = PrepareBuilding(env, RTT_ROOT, has_libcpu=False) # includes rtt drivers objs.extend(SConscript(os.path.join(libraries_path_prefix, 'drivers', 'SConscript'))) # make a building DoBuilding(TARGET, objs)