diff --git a/bsp/stm32/stm32l475-atk-pandora/SConstruct b/bsp/stm32/stm32l475-atk-pandora/SConstruct index dcd7ae28897b44aa88ab9d928e4d58e2150aa790..7465cb2e470425ee61ce7a76c9c51e3f8ea9695a 100644 --- a/bsp/stm32/stm32l475-atk-pandora/SConstruct +++ b/bsp/stm32/stm32l475-atk-pandora/SConstruct @@ -41,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') @@ -50,13 +53,18 @@ objs = PrepareBuilding(env, RTT_ROOT, has_libcpu=False) stm32_library = 'STM32L4xx_HAL' rtconfig.BSP_LIBRARY_TYPE = stm32_library +bsp_vdir = 'build' + # include libraries -objs.extend(SConscript(os.path.join(libraries_path_prefix, stm32_library, 'SConscript'))) +objs.extend(SConscript(os.path.join(libraries_path_prefix, stm32_library, 'SConscript'), + variant_dir=bsp_vdir + '/libraries/'+ stm32_library, duplicate=0)) # include drivers -objs.extend(SConscript(os.path.join(libraries_path_prefix, 'HAL_Drivers', 'SConscript'))) +objs.extend(SConscript(os.path.join(libraries_path_prefix, 'HAL_Drivers', 'SConscript'), + variant_dir=bsp_vdir + '/libraries/HAL_Drivers', duplicate=0)) -objs.extend(SConscript(os.path.join(os.getcwd(), 'board', 'ports', 'SConscript'))) +objs.extend(SConscript(os.path.join(os.getcwd(), 'board', 'ports', 'SConscript'), + variant_dir=bsp_vdir + '/board/ports', duplicate=0)) # make a building DoBuilding(TARGET, objs) diff --git a/bsp/stm32/stm32l475-atk-pandora/board/SConscript b/bsp/stm32/stm32l475-atk-pandora/board/SConscript index 29efa41d651a3d07880a800a59b323a676c3ad8f..7827517bfaa31f2006eb8826cad10a20cce61a80 100644 --- a/bsp/stm32/stm32l475-atk-pandora/board/SConscript +++ b/bsp/stm32/stm32l475-atk-pandora/board/SConscript @@ -39,17 +39,17 @@ path += [cwd + '/CubeMX_Config/Inc'] if GetDepend(['BSP_USING_AUDIO']): path += [cwd + '/ports/audio'] - + startup_path_prefix = SDK_LIB if rtconfig.CROSS_TOOL == 'gcc': - src += [startup_path_prefix + '/STM32L4xx_HAL/CMSIS/Device/ST/STM32L4xx/Source/Templates/gcc/startup_stm32l475xx.s'] + src_startup = [startup_path_prefix + '/STM32L4xx_HAL/CMSIS/Device/ST/STM32L4xx/Source/Templates/gcc/startup_stm32l475xx.s'] elif rtconfig.CROSS_TOOL == 'keil': - src += [startup_path_prefix + '/STM32L4xx_HAL/CMSIS/Device/ST/STM32L4xx/Source/Templates/arm/startup_stm32l475xx.s'] + src_startup = [startup_path_prefix + '/STM32L4xx_HAL/CMSIS/Device/ST/STM32L4xx/Source/Templates/arm/startup_stm32l475xx.s'] elif rtconfig.CROSS_TOOL == 'iar': - src += [startup_path_prefix + '/STM32L4xx_HAL/CMSIS/Device/ST/STM32L4xx/Source/Templates/iar/startup_stm32l475xx.s'] + src_startup= [startup_path_prefix + '/STM32L4xx_HAL/CMSIS/Device/ST/STM32L4xx/Source/Templates/iar/startup_stm32l475xx.s'] CPPDEFINES = ['STM32L475xx'] -group = DefineGroup('Drivers', src, depend = [''], CPPPATH = path, CPPDEFINES = CPPDEFINES) +group = DefineGroup('Drivers', src, depend = [''], CPPPATH = path, CPPDEFINES = CPPDEFINES) + DefineGroup('Libraries', src = src_startup, depend = ['']) Return('group')