From 1b6031954ac80a973c485d84ba3d0d2aef2bd110 Mon Sep 17 00:00:00 2001 From: guozhanxin Date: Wed, 30 Mar 2022 01:21:43 +0800 Subject: [PATCH] [bsp/imxrt] improve build output. --- bsp/imxrt/imxrt1052-atk-commander/SConstruct | 44 +++++++------- bsp/imxrt/imxrt1052-fire-pro/SConstruct | 44 +++++++------- bsp/imxrt/imxrt1052-nxp-evk/SConstruct | 45 +++++++------- bsp/imxrt/imxrt1052-seeed-ArchMix/SConstruct | 44 +++++++------- bsp/imxrt/imxrt1060-nxp-evk/SConstruct | 46 +++++++------- bsp/imxrt/imxrt1064-nxp-evk/SConstruct | 46 +++++++------- .../templates/imxrt1050xxx/SConstruct | 60 ++++++++++++------- .../templates/imxrt1064xxx/SConstruct | 60 ++++++++++++------- 8 files changed, 207 insertions(+), 182 deletions(-) diff --git a/bsp/imxrt/imxrt1052-atk-commander/SConstruct b/bsp/imxrt/imxrt1052-atk-commander/SConstruct index 55ebf9d391..e371dfb926 100644 --- a/bsp/imxrt/imxrt1052-atk-commander/SConstruct +++ b/bsp/imxrt/imxrt1052-atk-commander/SConstruct @@ -15,32 +15,21 @@ except: print(RTT_ROOT) exit(-1) -TARGET = 'rtthread.' + 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, - CXXCOM = '$CXX -o $TARGET -c $CXXFLAGS $_CCCOMCOM $SOURCES') +TARGET = 'rt-thread.' + rtconfig.TARGET_EXT +DefaultEnvironment(tools=[]) +env = Environment(tools = ['mingw'], + AS = rtconfig.AS, ASFLAGS = rtconfig.AFLAGS, + CC = rtconfig.CC, CFLAGS = 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) if rtconfig.PLATFORM == 'iar': env.Replace(CCCOM = ['$CC $CFLAGS $CPPFLAGS $_CPPDEFFLAGS $_CPPINCFLAGS -o $TARGET $SOURCES']) env.Replace(ARFLAGS = ['']) - env.Replace(LINKCOM = env["LINKCOM"] + ' --map rtthread.map') + env.Replace(LINKCOM = env["LINKCOM"] + ' --map rt-thread.map') Export('RTT_ROOT') Export('rtconfig') @@ -52,6 +41,9 @@ if os.path.exists(SDK_ROOT + '/libraries'): else: libraries_path_prefix = os.path.dirname(SDK_ROOT) + '/libraries' +from utils import _make_path_relative +libraries_path_prefix = _make_path_relative(os.path.abspath('./'), libraries_path_prefix) + SDK_LIB = libraries_path_prefix Export('SDK_LIB') @@ -61,11 +53,19 @@ objs = PrepareBuilding(env, RTT_ROOT, has_libcpu=False) imxrt_library = 'MIMXRT1050' rtconfig.BSP_LIBRARY_TYPE = imxrt_library +bsp_vdir = 'build' + # include libraries -objs.extend(SConscript(os.path.join(libraries_path_prefix, imxrt_library, 'SConscript'))) +objs.extend(SConscript(os.path.join(libraries_path_prefix, imxrt_library, 'SConscript'), + variant_dir=bsp_vdir + '/libraries/'+ imxrt_library, duplicate=0)) # include drivers -objs.extend(SConscript(os.path.join(libraries_path_prefix, 'drivers', 'SConscript'))) +objs.extend(SConscript(os.path.join(libraries_path_prefix, 'drivers', 'SConscript'), + variant_dir=bsp_vdir + '/libraries/drivers', duplicate=0)) + +bsp_port_script = os.path.join(os.getcwd(), 'board', 'ports', 'SConscript') +if os.path.isfile(bsp_port_script): + objs.extend(SConscript(bsp_port_script, variant_dir=bsp_vdir + '/board/ports', duplicate=0)) # make a building DoBuilding(TARGET, objs) diff --git a/bsp/imxrt/imxrt1052-fire-pro/SConstruct b/bsp/imxrt/imxrt1052-fire-pro/SConstruct index 55ebf9d391..e371dfb926 100644 --- a/bsp/imxrt/imxrt1052-fire-pro/SConstruct +++ b/bsp/imxrt/imxrt1052-fire-pro/SConstruct @@ -15,32 +15,21 @@ except: print(RTT_ROOT) exit(-1) -TARGET = 'rtthread.' + 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, - CXXCOM = '$CXX -o $TARGET -c $CXXFLAGS $_CCCOMCOM $SOURCES') +TARGET = 'rt-thread.' + rtconfig.TARGET_EXT +DefaultEnvironment(tools=[]) +env = Environment(tools = ['mingw'], + AS = rtconfig.AS, ASFLAGS = rtconfig.AFLAGS, + CC = rtconfig.CC, CFLAGS = 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) if rtconfig.PLATFORM == 'iar': env.Replace(CCCOM = ['$CC $CFLAGS $CPPFLAGS $_CPPDEFFLAGS $_CPPINCFLAGS -o $TARGET $SOURCES']) env.Replace(ARFLAGS = ['']) - env.Replace(LINKCOM = env["LINKCOM"] + ' --map rtthread.map') + env.Replace(LINKCOM = env["LINKCOM"] + ' --map rt-thread.map') Export('RTT_ROOT') Export('rtconfig') @@ -52,6 +41,9 @@ if os.path.exists(SDK_ROOT + '/libraries'): else: libraries_path_prefix = os.path.dirname(SDK_ROOT) + '/libraries' +from utils import _make_path_relative +libraries_path_prefix = _make_path_relative(os.path.abspath('./'), libraries_path_prefix) + SDK_LIB = libraries_path_prefix Export('SDK_LIB') @@ -61,11 +53,19 @@ objs = PrepareBuilding(env, RTT_ROOT, has_libcpu=False) imxrt_library = 'MIMXRT1050' rtconfig.BSP_LIBRARY_TYPE = imxrt_library +bsp_vdir = 'build' + # include libraries -objs.extend(SConscript(os.path.join(libraries_path_prefix, imxrt_library, 'SConscript'))) +objs.extend(SConscript(os.path.join(libraries_path_prefix, imxrt_library, 'SConscript'), + variant_dir=bsp_vdir + '/libraries/'+ imxrt_library, duplicate=0)) # include drivers -objs.extend(SConscript(os.path.join(libraries_path_prefix, 'drivers', 'SConscript'))) +objs.extend(SConscript(os.path.join(libraries_path_prefix, 'drivers', 'SConscript'), + variant_dir=bsp_vdir + '/libraries/drivers', duplicate=0)) + +bsp_port_script = os.path.join(os.getcwd(), 'board', 'ports', 'SConscript') +if os.path.isfile(bsp_port_script): + objs.extend(SConscript(bsp_port_script, variant_dir=bsp_vdir + '/board/ports', duplicate=0)) # make a building DoBuilding(TARGET, objs) diff --git a/bsp/imxrt/imxrt1052-nxp-evk/SConstruct b/bsp/imxrt/imxrt1052-nxp-evk/SConstruct index 42b12299a3..e371dfb926 100644 --- a/bsp/imxrt/imxrt1052-nxp-evk/SConstruct +++ b/bsp/imxrt/imxrt1052-nxp-evk/SConstruct @@ -15,32 +15,21 @@ except: print(RTT_ROOT) exit(-1) -TARGET = 'rtthread.' + 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, - CXXCOM = '$CXX -o $TARGET -c $CXXFLAGS $_CCCOMCOM $SOURCES') +TARGET = 'rt-thread.' + rtconfig.TARGET_EXT +DefaultEnvironment(tools=[]) +env = Environment(tools = ['mingw'], + AS = rtconfig.AS, ASFLAGS = rtconfig.AFLAGS, + CC = rtconfig.CC, CFLAGS = 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) if rtconfig.PLATFORM == 'iar': env.Replace(CCCOM = ['$CC $CFLAGS $CPPFLAGS $_CPPDEFFLAGS $_CPPINCFLAGS -o $TARGET $SOURCES']) env.Replace(ARFLAGS = ['']) - env.Replace(LINKCOM = env["LINKCOM"] + ' --map rtthread.map') + env.Replace(LINKCOM = env["LINKCOM"] + ' --map rt-thread.map') Export('RTT_ROOT') Export('rtconfig') @@ -52,6 +41,9 @@ if os.path.exists(SDK_ROOT + '/libraries'): else: libraries_path_prefix = os.path.dirname(SDK_ROOT) + '/libraries' +from utils import _make_path_relative +libraries_path_prefix = _make_path_relative(os.path.abspath('./'), libraries_path_prefix) + SDK_LIB = libraries_path_prefix Export('SDK_LIB') @@ -61,14 +53,19 @@ objs = PrepareBuilding(env, RTT_ROOT, has_libcpu=False) imxrt_library = 'MIMXRT1050' rtconfig.BSP_LIBRARY_TYPE = imxrt_library +bsp_vdir = 'build' + # include libraries -objs.extend(SConscript(os.path.join(libraries_path_prefix, imxrt_library, 'SConscript'))) +objs.extend(SConscript(os.path.join(libraries_path_prefix, imxrt_library, 'SConscript'), + variant_dir=bsp_vdir + '/libraries/'+ imxrt_library, duplicate=0)) # include drivers -objs.extend(SConscript(os.path.join(libraries_path_prefix, 'drivers', 'SConscript'))) +objs.extend(SConscript(os.path.join(libraries_path_prefix, 'drivers', 'SConscript'), + variant_dir=bsp_vdir + '/libraries/drivers', duplicate=0)) -# include peripherals -objs.extend(SConscript(os.path.join(libraries_path_prefix, 'peripherals', 'SConscript'))) +bsp_port_script = os.path.join(os.getcwd(), 'board', 'ports', 'SConscript') +if os.path.isfile(bsp_port_script): + objs.extend(SConscript(bsp_port_script, variant_dir=bsp_vdir + '/board/ports', duplicate=0)) # make a building DoBuilding(TARGET, objs) diff --git a/bsp/imxrt/imxrt1052-seeed-ArchMix/SConstruct b/bsp/imxrt/imxrt1052-seeed-ArchMix/SConstruct index 55ebf9d391..e371dfb926 100644 --- a/bsp/imxrt/imxrt1052-seeed-ArchMix/SConstruct +++ b/bsp/imxrt/imxrt1052-seeed-ArchMix/SConstruct @@ -15,32 +15,21 @@ except: print(RTT_ROOT) exit(-1) -TARGET = 'rtthread.' + 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, - CXXCOM = '$CXX -o $TARGET -c $CXXFLAGS $_CCCOMCOM $SOURCES') +TARGET = 'rt-thread.' + rtconfig.TARGET_EXT +DefaultEnvironment(tools=[]) +env = Environment(tools = ['mingw'], + AS = rtconfig.AS, ASFLAGS = rtconfig.AFLAGS, + CC = rtconfig.CC, CFLAGS = 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) if rtconfig.PLATFORM == 'iar': env.Replace(CCCOM = ['$CC $CFLAGS $CPPFLAGS $_CPPDEFFLAGS $_CPPINCFLAGS -o $TARGET $SOURCES']) env.Replace(ARFLAGS = ['']) - env.Replace(LINKCOM = env["LINKCOM"] + ' --map rtthread.map') + env.Replace(LINKCOM = env["LINKCOM"] + ' --map rt-thread.map') Export('RTT_ROOT') Export('rtconfig') @@ -52,6 +41,9 @@ if os.path.exists(SDK_ROOT + '/libraries'): else: libraries_path_prefix = os.path.dirname(SDK_ROOT) + '/libraries' +from utils import _make_path_relative +libraries_path_prefix = _make_path_relative(os.path.abspath('./'), libraries_path_prefix) + SDK_LIB = libraries_path_prefix Export('SDK_LIB') @@ -61,11 +53,19 @@ objs = PrepareBuilding(env, RTT_ROOT, has_libcpu=False) imxrt_library = 'MIMXRT1050' rtconfig.BSP_LIBRARY_TYPE = imxrt_library +bsp_vdir = 'build' + # include libraries -objs.extend(SConscript(os.path.join(libraries_path_prefix, imxrt_library, 'SConscript'))) +objs.extend(SConscript(os.path.join(libraries_path_prefix, imxrt_library, 'SConscript'), + variant_dir=bsp_vdir + '/libraries/'+ imxrt_library, duplicate=0)) # include drivers -objs.extend(SConscript(os.path.join(libraries_path_prefix, 'drivers', 'SConscript'))) +objs.extend(SConscript(os.path.join(libraries_path_prefix, 'drivers', 'SConscript'), + variant_dir=bsp_vdir + '/libraries/drivers', duplicate=0)) + +bsp_port_script = os.path.join(os.getcwd(), 'board', 'ports', 'SConscript') +if os.path.isfile(bsp_port_script): + objs.extend(SConscript(bsp_port_script, variant_dir=bsp_vdir + '/board/ports', duplicate=0)) # make a building DoBuilding(TARGET, objs) diff --git a/bsp/imxrt/imxrt1060-nxp-evk/SConstruct b/bsp/imxrt/imxrt1060-nxp-evk/SConstruct index b9be046c72..edbca1c148 100644 --- a/bsp/imxrt/imxrt1060-nxp-evk/SConstruct +++ b/bsp/imxrt/imxrt1060-nxp-evk/SConstruct @@ -15,42 +15,35 @@ except: print(RTT_ROOT) exit(-1) -TARGET = 'rtthread.' + 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, - CXXCOM = '$CXX -o $TARGET -c $CXXFLAGS $_CCCOMCOM $SOURCES') +TARGET = 'rt-thread.' + rtconfig.TARGET_EXT +DefaultEnvironment(tools=[]) +env = Environment(tools = ['mingw'], + AS = rtconfig.AS, ASFLAGS = rtconfig.AFLAGS, + CC = rtconfig.CC, CFLAGS = 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) if rtconfig.PLATFORM == 'iar': env.Replace(CCCOM = ['$CC $CFLAGS $CPPFLAGS $_CPPDEFFLAGS $_CPPINCFLAGS -o $TARGET $SOURCES']) env.Replace(ARFLAGS = ['']) - env.Replace(LINKCOM = env["LINKCOM"] + ' --map rtthread.map') + 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' +from utils import _make_path_relative +libraries_path_prefix = _make_path_relative(os.path.abspath('./'), libraries_path_prefix) + SDK_LIB = libraries_path_prefix Export('SDK_LIB') @@ -60,14 +53,19 @@ objs = PrepareBuilding(env, RTT_ROOT, has_libcpu=False) imxrt_library = 'MIMXRT1060' rtconfig.BSP_LIBRARY_TYPE = imxrt_library +bsp_vdir = 'build' + # include libraries -objs.extend(SConscript(os.path.join(libraries_path_prefix, imxrt_library, 'SConscript'))) +objs.extend(SConscript(os.path.join(libraries_path_prefix, imxrt_library, 'SConscript'), + variant_dir=bsp_vdir + '/libraries/'+ imxrt_library, duplicate=0)) # include drivers -objs.extend(SConscript(os.path.join(libraries_path_prefix, 'drivers', 'SConscript'))) +objs.extend(SConscript(os.path.join(libraries_path_prefix, 'drivers', 'SConscript'), + variant_dir=bsp_vdir + '/libraries/drivers', duplicate=0)) -# include peripherals -objs.extend(SConscript(os.path.join(libraries_path_prefix, 'peripherals', 'SConscript'))) +bsp_port_script = os.path.join(os.getcwd(), 'board', 'ports', 'SConscript') +if os.path.isfile(bsp_port_script): + objs.extend(SConscript(bsp_port_script, variant_dir=bsp_vdir + '/board/ports', duplicate=0)) # make a building DoBuilding(TARGET, objs) diff --git a/bsp/imxrt/imxrt1064-nxp-evk/SConstruct b/bsp/imxrt/imxrt1064-nxp-evk/SConstruct index 96668a9c4c..36aaa922d4 100644 --- a/bsp/imxrt/imxrt1064-nxp-evk/SConstruct +++ b/bsp/imxrt/imxrt1064-nxp-evk/SConstruct @@ -15,42 +15,35 @@ except: print(RTT_ROOT) exit(-1) -TARGET = 'rtthread.' + 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, - CXXCOM = '$CXX -o $TARGET -c $CXXFLAGS $_CCCOMCOM $SOURCES') +TARGET = 'rt-thread.' + rtconfig.TARGET_EXT +DefaultEnvironment(tools=[]) +env = Environment(tools = ['mingw'], + AS = rtconfig.AS, ASFLAGS = rtconfig.AFLAGS, + CC = rtconfig.CC, CFLAGS = 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) if rtconfig.PLATFORM == 'iar': env.Replace(CCCOM = ['$CC $CFLAGS $CPPFLAGS $_CPPDEFFLAGS $_CPPINCFLAGS -o $TARGET $SOURCES']) env.Replace(ARFLAGS = ['']) - env.Replace(LINKCOM = env["LINKCOM"] + ' --map rtthread.map') + 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' +from utils import _make_path_relative +libraries_path_prefix = _make_path_relative(os.path.abspath('./'), libraries_path_prefix) + SDK_LIB = libraries_path_prefix Export('SDK_LIB') @@ -60,14 +53,19 @@ objs = PrepareBuilding(env, RTT_ROOT, has_libcpu=False) imxrt_library = 'MIMXRT1064' rtconfig.BSP_LIBRARY_TYPE = imxrt_library +bsp_vdir = 'build' + # include libraries -objs.extend(SConscript(os.path.join(libraries_path_prefix, imxrt_library, 'SConscript'))) +objs.extend(SConscript(os.path.join(libraries_path_prefix, imxrt_library, 'SConscript'), + variant_dir=bsp_vdir + '/libraries/'+ imxrt_library, duplicate=0)) # include drivers -objs.extend(SConscript(os.path.join(libraries_path_prefix, 'drivers', 'SConscript'))) +objs.extend(SConscript(os.path.join(libraries_path_prefix, 'drivers', 'SConscript'), + variant_dir=bsp_vdir + '/libraries/drivers', duplicate=0)) -# include peripherals -objs.extend(SConscript(os.path.join(libraries_path_prefix, 'peripherals', 'SConscript'))) +bsp_port_script = os.path.join(os.getcwd(), 'board', 'ports', 'SConscript') +if os.path.isfile(bsp_port_script): + objs.extend(SConscript(bsp_port_script, variant_dir=bsp_vdir + '/board/ports', duplicate=0)) # make a building DoBuilding(TARGET, objs) diff --git a/bsp/imxrt/libraries/templates/imxrt1050xxx/SConstruct b/bsp/imxrt/libraries/templates/imxrt1050xxx/SConstruct index 923c623f17..e371dfb926 100644 --- a/bsp/imxrt/libraries/templates/imxrt1050xxx/SConstruct +++ b/bsp/imxrt/libraries/templates/imxrt1050xxx/SConstruct @@ -15,41 +15,57 @@ except: print(RTT_ROOT) exit(-1) -TARGET = 'rtthread.' + 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, - CXXCOM = '$CXX -o $TARGET -c $CXXFLAGS $_CCCOMCOM $SOURCES') +TARGET = 'rt-thread.' + rtconfig.TARGET_EXT +DefaultEnvironment(tools=[]) +env = Environment(tools = ['mingw'], + AS = rtconfig.AS, ASFLAGS = rtconfig.AFLAGS, + CC = rtconfig.CC, CFLAGS = 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) if rtconfig.PLATFORM == 'iar': env.Replace(CCCOM = ['$CC $CFLAGS $CPPFLAGS $_CPPDEFFLAGS $_CPPINCFLAGS -o $TARGET $SOURCES']) env.Replace(ARFLAGS = ['']) - env.Replace(LINKCOM = env["LINKCOM"] + ' --map rtthread.map') + 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' + +from utils import _make_path_relative +libraries_path_prefix = _make_path_relative(os.path.abspath('./'), libraries_path_prefix) + +SDK_LIB = libraries_path_prefix +Export('SDK_LIB') + # prepare building environment objs = PrepareBuilding(env, RTT_ROOT, has_libcpu=False) -objs = objs + SConscript('../libraries/drivers/SConscript') -objs = objs + SConscript('../libraries/MIMXRT1050/SConscript') +imxrt_library = 'MIMXRT1050' +rtconfig.BSP_LIBRARY_TYPE = imxrt_library + +bsp_vdir = 'build' + +# include libraries +objs.extend(SConscript(os.path.join(libraries_path_prefix, imxrt_library, 'SConscript'), + variant_dir=bsp_vdir + '/libraries/'+ imxrt_library, duplicate=0)) + +# include drivers +objs.extend(SConscript(os.path.join(libraries_path_prefix, 'drivers', 'SConscript'), + variant_dir=bsp_vdir + '/libraries/drivers', duplicate=0)) + +bsp_port_script = os.path.join(os.getcwd(), 'board', 'ports', 'SConscript') +if os.path.isfile(bsp_port_script): + objs.extend(SConscript(bsp_port_script, variant_dir=bsp_vdir + '/board/ports', duplicate=0)) # make a building DoBuilding(TARGET, objs) diff --git a/bsp/imxrt/libraries/templates/imxrt1064xxx/SConstruct b/bsp/imxrt/libraries/templates/imxrt1064xxx/SConstruct index a3f416164f..edbca1c148 100644 --- a/bsp/imxrt/libraries/templates/imxrt1064xxx/SConstruct +++ b/bsp/imxrt/libraries/templates/imxrt1064xxx/SConstruct @@ -15,41 +15,57 @@ except: print(RTT_ROOT) exit(-1) -TARGET = 'rtthread.' + 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, - CXXCOM = '$CXX -o $TARGET -c $CXXFLAGS $_CCCOMCOM $SOURCES') +TARGET = 'rt-thread.' + rtconfig.TARGET_EXT +DefaultEnvironment(tools=[]) +env = Environment(tools = ['mingw'], + AS = rtconfig.AS, ASFLAGS = rtconfig.AFLAGS, + CC = rtconfig.CC, CFLAGS = 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) if rtconfig.PLATFORM == 'iar': env.Replace(CCCOM = ['$CC $CFLAGS $CPPFLAGS $_CPPDEFFLAGS $_CPPINCFLAGS -o $TARGET $SOURCES']) env.Replace(ARFLAGS = ['']) - env.Replace(LINKCOM = env["LINKCOM"] + ' --map rtthread.map') + 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' + +from utils import _make_path_relative +libraries_path_prefix = _make_path_relative(os.path.abspath('./'), libraries_path_prefix) + +SDK_LIB = libraries_path_prefix +Export('SDK_LIB') + # prepare building environment objs = PrepareBuilding(env, RTT_ROOT, has_libcpu=False) -objs = objs + SConscript('../libraries/drivers/SConscript') -objs = objs + SConscript('../libraries/MIMXRT1064/SConscript') +imxrt_library = 'MIMXRT1060' +rtconfig.BSP_LIBRARY_TYPE = imxrt_library + +bsp_vdir = 'build' + +# include libraries +objs.extend(SConscript(os.path.join(libraries_path_prefix, imxrt_library, 'SConscript'), + variant_dir=bsp_vdir + '/libraries/'+ imxrt_library, duplicate=0)) + +# include drivers +objs.extend(SConscript(os.path.join(libraries_path_prefix, 'drivers', 'SConscript'), + variant_dir=bsp_vdir + '/libraries/drivers', duplicate=0)) + +bsp_port_script = os.path.join(os.getcwd(), 'board', 'ports', 'SConscript') +if os.path.isfile(bsp_port_script): + objs.extend(SConscript(bsp_port_script, variant_dir=bsp_vdir + '/board/ports', duplicate=0)) # make a building DoBuilding(TARGET, objs) -- GitLab