import os import sys import rtconfig RTT_ROOT = os.path.normpath(os.getcwd() + '/../..') sys.path = sys.path + [os.path.join(RTT_ROOT, 'tools')] import mdk target = 'rtthread-stm32' projects = [] AddOption('--target', dest='target', type='string', help='set target project: mdk') if GetOption('target'): SetOption('no_exec', 1) 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) env.PrependENVPath('PATH', rtconfig.EXEC_PATH) Export('env') Export('RTT_ROOT') Export('rtconfig') Export('projects') # kernel building script objs = SConscript(RTT_ROOT + '/src/SConscript', variant_dir='build/src', duplicate=0) # arch building script objs = objs + SConscript(RTT_ROOT + '/libcpu/SConscript', variant_dir='build/libcpu', duplicate=0) # STM32 firemare library building script objs = objs + SConscript(RTT_ROOT + '/bsp/stm3210/Libraries/SConscript', variant_dir='build/Libraries', duplicate=0) # component script Repository(RTT_ROOT) objs = objs + SConscript('components/SConscript') # board build script objs = objs + SConscript('SConscript', variant_dir='build/bsp', duplicate=0) TARGET = target + '.' + rtconfig.TARGET_EXT env.Program(TARGET, objs) env.AddPostAction(TARGET, rtconfig.POST_ACTION) if GetOption('target') == 'mdk': mdk.MDKProject('project_2.uV2', projects)