util.py 953 B

123456789101112131415161718192021222324
  1. from fbt.util import link_dir
  2. from ansi.color import fg
  3. def link_elf_dir_as_latest(env, elf_node):
  4. elf_dir = elf_node.Dir(".")
  5. latest_dir = env.Dir("#build/latest")
  6. print(fg.green(f"Linking {elf_dir} as latest built dir (./build/latest/)"))
  7. return link_dir(latest_dir.abspath, elf_dir.abspath, env["PLATFORM"] == "win32")
  8. def should_gen_cdb_and_link_dir(env, requested_targets):
  9. explicitly_building_updater = False
  10. # Hacky way to check if updater-related targets were requested
  11. for build_target in requested_targets:
  12. if "updater" in str(build_target) and "package" not in str(build_target):
  13. explicitly_building_updater = True
  14. is_updater = not env["IS_BASE_FIRMWARE"]
  15. # If updater is explicitly requested, link to the latest updater
  16. # Otherwise, link to firmware
  17. return (is_updater and explicitly_building_updater) or (
  18. not is_updater and not explicitly_building_updater
  19. )