mirror of
https://github.com/RT-Thread/rt-thread.git
synced 2025-11-16 12:34:33 +00:00
61 lines
1.9 KiB
Python
61 lines
1.9 KiB
Python
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')]
|
|
from building import *
|
|
|
|
def bsp_pkg_check():
|
|
import subprocess
|
|
|
|
check_paths = [
|
|
os.path.join("packages", "nxp-lpc-series-latest"),
|
|
]
|
|
|
|
need_update = not all(os.path.exists(p) for p in check_paths)
|
|
|
|
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-%s.%s' % (rtconfig.BOARD_NAME, rtconfig.TARGET_EXT)
|
|
DefaultEnvironment(tools=[])
|
|
if rtconfig.PLATFORM == 'armcc':
|
|
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,
|
|
# overwrite cflags, because cflags has '--C99'
|
|
CXXCOM = '$CXX -o $TARGET --cpp -c $CXXFLAGS $_CCCOMCOM $SOURCES')
|
|
else:
|
|
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)
|
|
|
|
Export('RTT_ROOT')
|
|
Export('rtconfig')
|
|
|
|
# prepare building environment
|
|
objs = PrepareBuilding(env, RTT_ROOT)
|
|
|
|
# make a building
|
|
DoBuilding(TARGET, objs)
|