57 lines
1.2 KiB
Plaintext
57 lines
1.2 KiB
Plaintext
Import("ENV")
|
|
|
|
|
|
from fbt.appmanifest import FlipperAppType
|
|
|
|
appenv = ENV.Clone(tools=["fbt_extapps"])
|
|
|
|
appenv.Replace(
|
|
LINKER_SCRIPT="application-ext",
|
|
STRIPFLAGS=[
|
|
"--strip-debug",
|
|
"--strip-unneeded",
|
|
"-d",
|
|
"-g",
|
|
"-S",
|
|
],
|
|
)
|
|
|
|
appenv.AppendUnique(
|
|
CCFLAGS=[
|
|
"-Os",
|
|
"-ggdb3",
|
|
"-mword-relocations",
|
|
"-mlong-calls",
|
|
"-fno-common",
|
|
"-nostdlib",
|
|
"-fvisibility=hidden",
|
|
],
|
|
LINKFLAGS=[
|
|
"-r",
|
|
"-s",
|
|
# "-Bsymbolic",
|
|
"-nostartfiles",
|
|
"-mlong-calls",
|
|
"-fno-common",
|
|
"-nostdlib",
|
|
"-Wl,--gc-sections",
|
|
"-Wl,--no-export-dynamic",
|
|
"-fvisibility=hidden",
|
|
"-Wl,-e${APP_ENTRY}",
|
|
],
|
|
)
|
|
|
|
|
|
extapps = []
|
|
for apptype in (FlipperAppType.PLUGIN, FlipperAppType.EXTERNAL):
|
|
for app in appenv["APPBUILD"].get_apps_of_type(apptype):
|
|
extapps.append(appenv.BuildAppElf(app))
|
|
|
|
# Ugly access to global option
|
|
if extra_app_list := GetOption("extra_ext_apps"):
|
|
for extra_app in extra_app_list.split(","):
|
|
extapps.append(appenv.BuildAppElf(appenv["APPMGR"].get(extra_app)))
|
|
|
|
Alias(appenv["FIRMWARE_BUILD_CFG"] + "_extapps", extapps)
|
|
Return("extapps")
|