Implemented especially for SmartAnthill "$ platformio run -t uploadlazy" target (no dependencies to framework libs, ELF and etc.)

This commit is contained in:
Ivan Kravets
2014-07-27 22:42:04 +03:00
parent 202e2e0af5
commit bd47f44c1f
4 changed files with 77 additions and 95 deletions
+10 -26
View File
@@ -8,11 +8,12 @@
from os.path import join
from SCons.Script import (AlwaysBuild, Builder, Default, DefaultEnvironment,
SConscript, SConscriptChdir)
from SCons.Script import (AlwaysBuild, Builder, COMMAND_LINE_TARGETS, Default,
DefaultEnvironment)
from platformio.util import get_system
env = DefaultEnvironment()
env.Replace(
@@ -60,9 +61,6 @@ env.Replace(
UPLOADCMD='$UPLOADER $UPLOADERFLAGS "prog $SOURCES"'
)
if "BUILD_FLAGS" in env:
env.MergeFlags(env['BUILD_FLAGS'])
env.Append(
BUILDERS=dict(
ElfToHex=Builder(
@@ -79,24 +77,7 @@ env.Append(
)
)
env.PrependENVPath(
"PATH",
join(env.subst("$PLATFORMTOOLS_DIR"), "toolchain", "bin")
)
BUILT_LIBS = []
#
# Process framework script
#
if "FRAMEWORK" in env:
SConscriptChdir(0)
flibs = SConscript(env.subst(join("$PIOBUILDER_DIR", "scripts",
"frameworks", "${FRAMEWORK}.py")),
exports="env")
BUILT_LIBS += flibs
BUILT_LIBS = env.ProcessGeneral()
#
# Target: Build executable and linkable firmware
@@ -108,17 +89,20 @@ target_elf = env.BuildFirmware(BUILT_LIBS + ["m"])
# Target: Build the .hex
#
target_hex = env.ElfToHex(join("$BUILD_DIR", "firmware"), target_elf)
if "uploadlazy" in COMMAND_LINE_TARGETS:
target_hex = join("$BUILD_DIR", "firmware.hex")
else:
target_hex = env.ElfToHex(join("$BUILD_DIR", "firmware"), target_elf)
#
# Target: Upload firmware
#
upload = env.Alias("upload", target_hex, ["$UPLOADCMD"])
upload = env.Alias(["upload", "uploadlazy"], target_hex, "$UPLOADCMD")
AlwaysBuild(upload)
#
# Target: Define targets
#
Default([target_elf, target_hex])
Default(target_hex)