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