Import("env")

env.Append(
    LINT_SOURCES=["firmware"],
    # SDK_HEADERS=[env.File("#/firmware/targets/furi_hal_include/furi_hal.h")],
    SDK_HEADERS=[
        *env.GlobRecursive("*.h", "#/firmware/targets/furi_hal_include", "*_i.h"),
        *env.GlobRecursive("*.h", "#/firmware/targets/f${TARGET_HW}/furi_hal", "*_i.h"),
        File("#/firmware/targets/f7/platform_specific/intrinsic_export.h"),
        File("#/firmware/targets/furi_hal_include/furi_hal_subghz.h"),
    ],
)
env.SetDefault(SDK_DEFINITION=env.File("./targets/f${TARGET_HW}/api_symbols.csv"))


libenv = env.Clone(FW_LIB_NAME="flipper${TARGET_HW}")
libenv.Append(
    CPPPATH=[
        "#/lib/STM32CubeWB/Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl",
    ]
)
libenv.ApplyLibFlags()


sources = ["targets/f${TARGET_HW}/startup_stm32wb55xx_cm4.s"]
sources += libenv.GlobRecursive("*.c")

lib = libenv.StaticLibrary("${FW_LIB_NAME}", sources)
libenv.Install("${LIB_DIST_DIR}", lib)
Return("lib")
