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