forked from xuos/xiuos
fcdb1d8b62
1.Modify the peripheral interface of the development board 2.Complete configuration files and build files 3.GCC is supported
93 lines
2.8 KiB
Python
93 lines
2.8 KiB
Python
import os
|
|
import sys
|
|
import rtconfig
|
|
import SCons
|
|
|
|
if os.getenv('RTT_ROOT'):
|
|
RTT_ROOT = os.getenv('RTT_ROOT')
|
|
else:
|
|
RTT_ROOT = os.path.normpath(os.getcwd() + '/../../rt-thread')
|
|
|
|
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)
|
|
|
|
TARGET = 'rt-thread.' + rtconfig.TARGET_EXT
|
|
|
|
DefaultEnvironment(tools=[])
|
|
env = Environment(tools = ['mingw'],
|
|
AS = rtconfig.AS, ASFLAGS = rtconfig.AFLAGS,
|
|
CC = rtconfig.CC, CCFLAGS = rtconfig.CFLAGS,
|
|
AR = rtconfig.AR, ARFLAGS = '-rc',
|
|
CXX = rtconfig.CXX, CXXFLAGS = rtconfig.CXXFLAGS,
|
|
LINK = rtconfig.LINK, LINKFLAGS = rtconfig.LFLAGS)
|
|
env.PrependENVPath('PATH', rtconfig.EXEC_PATH)
|
|
|
|
AddOption('--compiledb',
|
|
dest = 'compiledb',
|
|
action = 'store_true',
|
|
default = False,
|
|
help = 'generate compile_commands.json')
|
|
|
|
if GetOption('compiledb'):
|
|
if int(SCons.__version__.split('.')[0]) >= 4:
|
|
env['COMPILATIONDB_USE_ABSPATH'] = True
|
|
env.Tool('compilation_db')
|
|
env.CompilationDatabase('compile_commands.json')
|
|
else:
|
|
print('Warning: --compiledb only support on SCons 4.0+')
|
|
|
|
if rtconfig.PLATFORM == 'iar':
|
|
env.Replace(CCCOM = ['$CC $CCFLAGS $CPPFLAGS $_CPPDEFFLAGS $_CPPINCFLAGS -o $TARGET $SOURCES'])
|
|
env.Replace(ARFLAGS = [''])
|
|
env.Replace(LINKCOM = env["LINKCOM"] + ' --map rt-thread.map')
|
|
|
|
Export('RTT_ROOT')
|
|
Export('rtconfig')
|
|
|
|
SDK_ROOT = os.path.abspath('./')
|
|
|
|
#if os.path.exists(SDK_ROOT + '/libraries'):
|
|
# libraries_path_prefix = SDK_ROOT + '/libraries'
|
|
#else:
|
|
# libraries_path_prefix = os.path.dirname(SDK_ROOT) + '/libraries'
|
|
|
|
libraries_path_prefix = RTT_ROOT + '/bsp/stm32/libraries'
|
|
|
|
SDK_LIB = libraries_path_prefix
|
|
Export('SDK_LIB')
|
|
|
|
# prepare building environment
|
|
objs = PrepareBuilding(env, RTT_ROOT, has_libcpu=False)
|
|
|
|
stm32_library = 'STM32F4xx_HAL'
|
|
rtconfig.BSP_LIBRARY_TYPE = stm32_library
|
|
|
|
# include libraries
|
|
objs.extend(SConscript(os.path.join(libraries_path_prefix, stm32_library, 'SConscript')))
|
|
|
|
# include drivers
|
|
objs.extend(SConscript(os.path.join(libraries_path_prefix, 'HAL_Drivers', 'SConscript')))
|
|
|
|
# include more drivers
|
|
objs.extend(SConscript(os.getcwd() + '/../../app_match_rt-thread/SConscript'))
|
|
|
|
# include APP_Framework/Framework
|
|
objs.extend(SConscript(os.getcwd() + '/../../../../APP_Framework/Framework/SConscript'))
|
|
|
|
# include APP_Framework/Applications
|
|
objs.extend(SConscript(os.getcwd() + '/../../../../APP_Framework/Applications/SConscript'))
|
|
|
|
# include APP_Framework/lib
|
|
objs.extend(SConscript(os.getcwd() + '/../../../../APP_Framework/lib/SConscript'))
|
|
|
|
# include Ubiquitous/RT-Thread/micropython
|
|
objs.extend(SConscript(os.getcwd() + '/../../micropython/SConscript'))
|
|
|
|
# make a building
|
|
DoBuilding(TARGET, objs)
|