summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorGrissiom <[email protected]>2014-04-10 15:03:11 +0800
committerGrissiom <[email protected]>2014-04-10 15:03:11 +0800
commita03816ef9aa583bb16ad1282dacaad9c02b87cd7 (patch)
treeb9cabb1beff1d7abb4e942ade55bc489b090a2bd /tools
parentf91f22b31f5db14a27787e3c6b0ebfa0d971589b (diff)
scons: seperate the BSP build with the kernel build
BSPs could have their own components/ etc. If they point to the same folder, SCons would find the wrong source code to compile.
Diffstat (limited to 'tools')
-rw-r--r--tools/building.py17
1 files changed, 12 insertions, 5 deletions
diff --git a/tools/building.py b/tools/building.py
index 54193fcf2f..ae9c8da6d1 100644
--- a/tools/building.py
+++ b/tools/building.py
@@ -192,18 +192,25 @@ def PrepareBuilding(env, root_directory, has_libcpu=False, remove_components = [
LINKCOMSTR = 'LINK $TARGET'
)
- # board build script
- objs = SConscript('SConscript', variant_dir='build', duplicate=0)
Repository(Rtt_Root)
+
+ # we need to seperate the variant_dir for BSPs and the kernels. BSPs could
+ # have their own components etc. If they point to the same folder, SCons
+ # would find the wrong source code to compile.
+ bsp_vdir = 'build/bsp'
+ kernel_vdir = 'build/kernel'
+ # board build script
+ objs = SConscript('SConscript', variant_dir=bsp_vdir, duplicate=0)
# include kernel
- objs.extend(SConscript(Rtt_Root + '/src/SConscript', variant_dir='build/src', duplicate=0))
+ objs.extend(SConscript(Rtt_Root + '/src/SConscript', variant_dir=kernel_vdir + '/src', duplicate=0))
# include libcpu
if not has_libcpu:
- objs.extend(SConscript(Rtt_Root + '/libcpu/SConscript', variant_dir='build/libcpu', duplicate=0))
+ objs.extend(SConscript(Rtt_Root + '/libcpu/SConscript',
+ variant_dir=kernel_vdir + '/libcpu', duplicate=0))
# include components
objs.extend(SConscript(Rtt_Root + '/components/SConscript',
- variant_dir='build/components',
+ variant_dir=kernel_vdir + '/components',
duplicate=0,
exports='remove_components'))