@@ -5,22 +5,19 @@ import platform
55import subprocess
66import uuid
77
8- if os .getenv ( 'RTT_ROOT ' ):
9- RTT_ROOT = os .getenv ( 'RTT_ROOT ' )
8+ if os .path . exists ( 'rt-thread ' ):
9+ RTT_ROOT = os .path . normpath ( os . getcwd () + '/rt-thread ' )
1010else :
11- RTT_ROOT = os .path .normpath (os .getcwd () + '/../../..' )
12-
13- # set RTT_ROOT
14- if not os .getenv ("RTT_ROOT" ):
15- RTT_ROOT = "rt-thread"
11+ RTT_ROOT = os .path .normpath (os .getcwd () + '../../../../rt-thread' )
1612
1713sys .path = sys .path + [os .path .join (RTT_ROOT , 'tools' )]
1814try :
1915 from building import *
20- except :
16+ except Exception as e :
17+ print ("Error message:" , e )
2118 print ('Cannot found RT-Thread root directory, please check RTT_ROOT' )
2219 print (RTT_ROOT )
23- exit (- 1 )
20+ sys . exit (- 1 )
2421
2522TARGET = 'rt-thread.' + rtconfig .TARGET_EXT
2623
@@ -45,7 +42,7 @@ SDK_ROOT = os.path.abspath('./')
4542if os .path .exists (SDK_ROOT + '/libraries/components' ):
4643 libraries_path_prefix = SDK_ROOT + '/libraries/components'
4744else :
48- libraries_path_prefix = os .path .dirname (SDK_ROOT ) + '/../libraries/components'
45+ libraries_path_prefix = os .path .dirname (SDK_ROOT ) + '/../../ libraries/components'
4946
5047SDK_LIB = libraries_path_prefix
5148Export ('SDK_LIB' )
@@ -85,28 +82,48 @@ def ourspawn(sh, escape, cmd, args, e):
8582 os .remove (filename )
8683 return rv
8784
88- # 解决env-scons不能链接长路径问题
8985if platform .system () == 'Windows' :
9086 env ['SPAWN' ] = ourspawn
9187
88+ # Add project libs with VariantDir
89+ if os .path .exists (os .path .join (os .getcwd (), "libs" )):
90+ env .VariantDir ('build/libs' , 'libs' , duplicate = 0 )
91+ else :
92+ env .VariantDir ('build/libs' , '../libs' , duplicate = 0 )
93+ objs .extend (SConscript ('../libs/SConscript' , variant_dir = 'build/libs' , duplicate = 0 ))
94+
9295if os .path .exists (os .path .join (os .getcwd (), "libraries" )):
93- objs .extend (SConscript (os .path .join ('libraries' , 'HAL_Drivers' , 'SConscript' )))
94- objs .extend (SConscript (os .path .join ('libraries/components/Infineon_cmsis-latest' , '' , 'SConscript' )))
95- objs .extend (SConscript (os .path .join ('libraries/components/Infineon_core-lib-latest' , '' , 'SConscript' )))
96- objs .extend (SConscript (os .path .join ('libraries/components/mtb-device-support-pse8xxgp/hal' , '' , 'SConscript' )))
97- objs .extend (SConscript (os .path .join ('libraries/components/mtb-device-support-pse8xxgp/pdl' , '' , 'SConscript' )))
98- objs .extend (SConscript (os .path .join ('libraries/components/async-transfer' , '' , 'SConscript' )))
99- objs .extend (SConscript (os .path .join ('libraries/components/mtb-device-support-pse8xxgp/device-utils/syspm' , '' , 'SConscript' )))
100- objs .extend (SConscript (os .path .join ('libraries/components/Infineon_retarget-io-latest' , '' , 'SConscript' )))
96+ # Set VariantDir for libraries
97+ env .VariantDir ('build/libraries/HAL_Drivers' , 'libraries/HAL_Drivers' , duplicate = 0 )
98+ env .VariantDir ('build/libraries/components' , 'libraries/components' , duplicate = 0 )
99+
100+ objs .extend (SConscript ('libraries/HAL_Drivers/SConscript' , variant_dir = 'build/libraries/HAL_Drivers' , duplicate = 0 ))
101+ objs .extend (SConscript ('libraries/components/Infineon_cmsis-latest/SConscript' , variant_dir = 'build/libraries/components/Infineon_cmsis-latest' , duplicate = 0 ))
102+ objs .extend (SConscript ('libraries/components/Infineon_core-lib-latest/SConscript' , variant_dir = 'build/libraries/components/Infineon_core-lib-latest' , duplicate = 0 ))
103+ objs .extend (SConscript ('libraries/components/mtb-device-support-pse8xxgp/hal/SConscript' , variant_dir = 'build/libraries/components/mtb-device-support-pse8xxgp/hal' , duplicate = 0 ))
104+ objs .extend (SConscript ('libraries/components/mtb-device-support-pse8xxgp/pdl/SConscript' , variant_dir = 'build/libraries/components/mtb-device-support-pse8xxgp/pdl' , duplicate = 0 ))
105+ objs .extend (SConscript ('libraries/components/async-transfer/SConscript' , variant_dir = 'build/libraries/components/async-transfer' , duplicate = 0 ))
106+ objs .extend (SConscript ('libraries/components/mtb-device-support-pse8xxgp/device-utils/syspm/SConscript' , variant_dir = 'build/libraries/components/mtb-device-support-pse8xxgp/device-utils/syspm' , duplicate = 0 ))
107+ objs .extend (SConscript ('libraries/components/serial-memory/SConscript' , variant_dir = 'build/libraries/components/serial-memory' , duplicate = 0 ))
108+ objs .extend (SConscript ('libraries/components/Infineon_retarget-io-latest/SConscript' , variant_dir = 'build/libraries/components/Infineon_retarget-io-latest' , duplicate = 0 ))
109+ objs .extend (SConscript ('libraries/components/ASRC/SConscript' , variant_dir = 'build/libraries/components/ASRC' , duplicate = 0 ))
110+ objs .extend (SConscript ('libraries/components/SConscript' , variant_dir = 'build/libraries/components' , duplicate = 0 ))
101111else :
102- objs .extend (SConscript (os .path .join ('../libraries' , 'HAL_Drivers' , 'SConscript' )))
103- objs .extend (SConscript (os .path .join ('../libraries/components/Infineon_cmsis-latest' , '' , 'SConscript' )))
104- objs .extend (SConscript (os .path .join ('../libraries/components/Infineon_core-lib-latest' , '' , 'SConscript' )))
105- objs .extend (SConscript (os .path .join ('../libraries/components/mtb-device-support-pse8xxgp/hal' , '' , 'SConscript' )))
106- objs .extend (SConscript (os .path .join ('../libraries/components/mtb-device-support-pse8xxgp/pdl' , '' , 'SConscript' )))
107- objs .extend (SConscript (os .path .join ('../libraries/components/async-transfer' , '' , 'SConscript' )))
108- objs .extend (SConscript (os .path .join ('../libraries/components/mtb-device-support-pse8xxgp/device-utils/syspm' , '' , 'SConscript' )))
109- objs .extend (SConscript (os .path .join ('../libraries/components/Infineon_retarget-io-latest' , '' , 'SConscript' )))
112+ # Set VariantDir for external libraries
113+ env .VariantDir ('build/libraries/HAL_Drivers' , '../../../libraries/HAL_Drivers' , duplicate = 0 )
114+ env .VariantDir ('build/libraries/components' , '../../../libraries/components' , duplicate = 0 )
115+
116+ objs .extend (SConscript ('../../../libraries/HAL_Drivers/SConscript' , variant_dir = 'build/libraries/HAL_Drivers' , duplicate = 0 ))
117+ objs .extend (SConscript ('../../../libraries/components/Infineon_cmsis-latest/SConscript' , variant_dir = 'build/libraries/components/Infineon_cmsis-latest' , duplicate = 0 ))
118+ objs .extend (SConscript ('../../../libraries/components/Infineon_core-lib-latest/SConscript' , variant_dir = 'build/libraries/components/Infineon_core-lib-latest' , duplicate = 0 ))
119+ objs .extend (SConscript ('../../../libraries/components/mtb-device-support-pse8xxgp/hal/SConscript' , variant_dir = 'build/libraries/components/mtb-device-support-pse8xxgp/hal' , duplicate = 0 ))
120+ objs .extend (SConscript ('../../../libraries/components/mtb-device-support-pse8xxgp/pdl/SConscript' , variant_dir = 'build/libraries/components/mtb-device-support-pse8xxgp/pdl' , duplicate = 0 ))
121+ objs .extend (SConscript ('../../../libraries/components/async-transfer/SConscript' , variant_dir = 'build/libraries/components/async-transfer' , duplicate = 0 ))
122+ objs .extend (SConscript ('../../../libraries/components/mtb-device-support-pse8xxgp/device-utils/syspm/SConscript' , variant_dir = 'build/libraries/components/mtb-device-support-pse8xxgp/device-utils/syspm' , duplicate = 0 ))
123+ objs .extend (SConscript ('../../../libraries/components/serial-memory/SConscript' , variant_dir = 'build/libraries/components/serial-memory' , duplicate = 0 ))
124+ objs .extend (SConscript ('../../../libraries/components/Infineon_retarget-io-latest/SConscript' , variant_dir = 'build/libraries/components/Infineon_retarget-io-latest' , duplicate = 0 ))
125+ objs .extend (SConscript ('../../../libraries/components/ASRC/SConscript' , variant_dir = 'build/libraries/components/ASRC' , duplicate = 0 ))
126+ objs .extend (SConscript ('../../../libraries/components/SConscript' , variant_dir = 'build/libraries/components' , duplicate = 0 ))
110127
111128# make a building
112129DoBuilding (TARGET , objs )
0 commit comments