import os import sys import rtconfig IS_EXPORTED = False # setup RT-Thread Root Path if os.getenv('RTT_ROOT'): RTT_ROOT = os.getenv('RTT_ROOT') else: RTT_ROOT = 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) if RTT_ROOT == 'rt-thread': IS_EXPORTED = True # if kenrel and bsp has been exported by export_project.py # setup Phytium BSP Root Path if IS_EXPORTED: BSP_ROOT = '.' else: BSP_ROOT = RTT_ROOT + '/bsp/phytium' TARGET = 'rtthread_a32.' + rtconfig.TARGET_EXT DefaultEnvironment(tools=[]) env = Environment(tools = ['mingw'], AS = rtconfig.AS, ASFLAGS = rtconfig.AFLAGS, CC = rtconfig.CC, CFLAGS = rtconfig.CFLAGS, CXX = rtconfig.CXX, CXXFLAGS = rtconfig.CXXFLAGS, AR = rtconfig.AR, ARFLAGS = '-rc', LINK = rtconfig.LINK, LINKFLAGS = rtconfig.LFLAGS) env.PrependENVPath('PATH', rtconfig.EXEC_PATH) env['ASCOM'] = env['ASPPCOM'] Export('RTT_ROOT') Export('BSP_ROOT') Export('rtconfig') # prepare building environment objs = PrepareBuilding(env, RTT_ROOT, has_libcpu = False) if not IS_EXPORTED: # if project is not exported, libraries and board need to manually add # include libraries objs.extend(SConscript(os.path.join(BSP_ROOT + '/libraries', 'SConscript'))) # include board objs.extend(SConscript(os.path.join(BSP_ROOT + '/board', 'SConscript'))) if GetDepend('RT_USING_SMART'): # use smart link.lds env['LINKFLAGS'] = env['LINKFLAGS'].replace('link.lds', 'link_smart.lds') # make a building DoBuilding(TARGET, objs)