from SCons.Builder import Builder from SCons.Action import Action def version_emitter(target, source, env): target_dir = target[0] target = [ target_dir.File("version.inc.h"), target_dir.File("version.json"), ] return target, source def generate(env): env.Append( BUILDERS={ "VersionBuilder": Builder( action=Action( '${PYTHON3} "${ROOT_DIR.abspath}/scripts/version.py" generate -t ${TARGET_HW} -o ${TARGET.dir.posix} --dir "${ROOT_DIR}"', "${VERSIONCOMSTR}", ), emitter=version_emitter, ), } ) def exists(env): return True