[core] Refactor build system, cleanup unused files

This commit is contained in:
Kuba Szczodrzyński
2022-05-04 21:45:30 +02:00
parent 048556803b
commit 783955cc5d
16 changed files with 516 additions and 2279 deletions

View File

@@ -1,8 +1,13 @@
# Copyright (c) Kuba Szczodrzyński 2022-04-20.
from SCons.Script import Default, DefaultEnvironment
env = DefaultEnvironment()
board = env.BoardConfig()
# Utilities
env.SConscript("utils.py", exports="env")
# Firmware name
if env.get("PROGNAME", "program") == "program":
env.Replace(PROGNAME="firmware")
@@ -36,6 +41,25 @@ if flash_layout:
env.Append(CPPDEFINES=defines.items())
env.Replace(**defines)
# Platform builders details:
# - call env.AddDefaults("platform name", "sdk name") to add dir paths
# - call env.AddLibrary("lib name", "base dir", [sources]) to add lib sources
# - output main firmware image binary as $IMG_FW
# - call env.BuildLibraries() to build lib targets with safe envs
# - script code ordering:
# - global vars
# - # Outputs
# - # Tools
# - # Flags (C(XX)FLAGS / CPPDEFINES / LINKFLAGS)
# - sources (env.AddLibrary)
# - # Libs & linker config (LIBPATH / LIBS / LDSCRIPT_PATH)
# - # Misc options
# - # Image conversion (tools, functions, builders, actions, etc.)
# - # Uploader
# - # Library targets
# - env.BuildLibraries()
# - # Main firmware binary builder
target_elf = env.BuildProgram()
target_fw = env.DumpFirmwareBinary("$IMG_FW", target_elf)
env.AddPlatformTarget("upload", target_fw, env["UPLOAD_ACTIONS"], "Upload")