from fbt.util import GLOB_FILE_EXCLUSION Import("env") env.Append( CPPPATH=[ "#/lib/fnv1a_hash", "#/lib/heatshrink", "#/lib/micro-ecc", "#/lib/nanopb", "#/lib/u8g2", ], CPPDEFINES=[ "PB_ENABLE_MALLOC", ], SDK_HEADERS=[ File("micro-ecc/uECC.h"), File("nanopb/pb.h"), File("nanopb/pb_decode.h"), File("nanopb/pb_encode.h"), ], ) libenv = env.Clone(FW_LIB_NAME="misc") libenv.ApplyLibFlags() sources = [] libs_recurse = [ "micro-ecc", "u8g2", "update_util", ] for lib in libs_recurse: sources += libenv.GlobRecursive("*.c*", lib) libs_plain = [ "nanopb", ] for lib in libs_plain: sources += Glob( lib + "/*.c*", exclude=GLOB_FILE_EXCLUSION, source=True, ) sources += Glob( "heatshrink/heatshrink_*.c*", exclude=GLOB_FILE_EXCLUSION, source=True, ) lib = libenv.StaticLibrary("${FW_LIB_NAME}", sources) libenv.Install("${LIB_DIST_DIR}", lib) Return("lib")