core: Add intercept variable for desktop recovery firmware Replaces direct use of GENERATED_FW_IMAGE with a new variable, DESKTOP_FIRMWARE_MODULE_RECOVERY, allowing the recovery firmware to be overridden via DESKTOP_FIRMWARE_MODULE_RECOVERY_INTERCEPT. Bug: 488122257 Test: m pack-recovery-image -j Change-Id: Iaed17fc212a620935ec21734420057836765fecd
diff --git a/core/Makefile b/core/Makefile index 2aaba2a..95c8902 100644 --- a/core/Makefile +++ b/core/Makefile
@@ -7950,6 +7950,14 @@ $(call dist-for-goals,dist_files,$(GENERATED_FW_IMAGE):${TARGET_PRODUCT}-firmware.img) endif +# What is passed into recovery image creation. +DESKTOP_FIRMWARE_MODULE_RECOVERY := $(GENERATED_FW_IMAGE) + +# Only set this after dist call. +ifneq (,$(DESKTOP_FIRMWARE_MODULE_RECOVERY_INTERCEPT)) +DESKTOP_FIRMWARE_MODULE_RECOVERY := $(call module-built-files,$(DESKTOP_FIRMWARE_MODULE_RECOVERY_INTERCEPT)) +endif + # ----------------------------------------------------------------- # Desktop generated partition image. GENERATED_PARTITION_IMAGE := $(call module-built-files,gen-partition-image) @@ -7979,20 +7987,20 @@ # ----------------------------------------------------------------- # Desktop pack recovery image hook. ifeq ($(BOARD_USES_DESKTOP_RECOVERY_IMAGE),true) -ifeq ($(GENERATED_FW_IMAGE),) +ifeq ($(DESKTOP_FIRMWARE_MODULE_RECOVERY),) $(error The desktop recovery image requires AP and EC firmware. \ Please ensure RELEASE_FIRMWARE_$(call to-upper,$(TARGET_PRODUCT))_VERSION is set, \ or disable the recovery image by specifying \ PRODUCT_BUILD_DESKTOP_RECOVERY_IMAGE := false) -endif # ($(GENERATED_FW_IMAGE),) +endif # ($(DESKTOP_FIRMWARE_MODULE_RECOVERY),) PACK_RECOVERY_IMAGE_TARGET := $(PRODUCT_OUT)/android-desktop_recovery_image.bin -PACK_RECOVERY_IMAGE_ARGS := --noarchive --recovery --firmware $(GENERATED_FW_IMAGE) --partition-image $(GENERATED_PARTITION_IMAGE) +PACK_RECOVERY_IMAGE_ARGS := --noarchive --recovery --firmware $(DESKTOP_FIRMWARE_MODULE_RECOVERY) --partition-image $(GENERATED_PARTITION_IMAGE) ifneq (,$(strip $(PACK_RECOVERY_IMAGE_EXPERIMENTAL))) PACK_RECOVERY_IMAGE_ARGS += --experimental endif # PACK_RECOVERY_IMAGE_EXPERIMENTAL -$(PACK_RECOVERY_IMAGE_TARGET): $(PACK_IMAGE_DEPS) $(PRODUCT_OUT)/recovery-kernel $(GENERATED_FW_IMAGE) $(GENERATED_PARTITION_IMAGE) +$(PACK_RECOVERY_IMAGE_TARGET): $(PACK_IMAGE_DEPS) $(PRODUCT_OUT)/recovery-kernel $(DESKTOP_FIRMWARE_MODULE_RECOVERY) $(GENERATED_PARTITION_IMAGE) $(PACK_IMAGE_SCRIPT) --out_dir $(PRODUCT_OUT) $(PACK_RECOVERY_IMAGE_ARGS) $(PACK_IMAGE_ARGS) PACKED_RECOVERY_IMAGE_ARCHIVE_TARGET := $(PACK_RECOVERY_IMAGE_TARGET).zst