Copy built images to generate target_files.zip Instead of building the images again, copy already built image files to generate the target_files.zip. It uses map_file_generator to generate the block list from the image files. Bug: 281960439 Test: m dist Change-Id: I83284cf78affef882dad3b56f947e5ebc41a75e9
diff --git a/core/Makefile b/core/Makefile index 4e5787d..60d5835 100644 --- a/core/Makefile +++ b/core/Makefile
@@ -5879,11 +5879,22 @@ echo "virtual_ab_cow_version=$(PRODUCT_VIRTUAL_AB_COW_VERSION)" >> $(1)) endef +# Copy an image file to a directory and generate a block list map file from the image. +# $(1): path of the image file +# $(2): target out directory +# $(3): name of the map file. skip generating map file if empty +define copy-image-and-generate-map + mkdir -p $(2) + cp $(1) $(2) + $(if $(3),$(HOST_OUT_EXECUTABLES)/map_file_generator $(1) $(2)/$(3)) +endef + # By conditionally including the dependency of the target files package on the # full system image deps, we speed up builds that do not build the system # image. ifdef BUILDING_SYSTEM_IMAGE $(BUILT_TARGET_FILES_DIR): $(FULL_SYSTEMIMAGE_DEPS) + $(BUILT_TARGET_FILES_DIR): $(BUILT_SYSTEMIMAGE) else # releasetools may need the system build.prop even when building a # system-image-less product. @@ -5896,6 +5907,7 @@ ifdef BUILDING_SYSTEM_OTHER_IMAGE $(BUILT_TARGET_FILES_DIR): $(INTERNAL_SYSTEMOTHERIMAGE_FILES) + $(BUILT_TARGET_FILES_DIR): $(BUILT_SYSTEMOTHERIMAGE_TARGET) endif ifdef BUILDING_VENDOR_BOOT_IMAGE @@ -5927,18 +5939,21 @@ ifdef BUILDING_VENDOR_IMAGE $(BUILT_TARGET_FILES_DIR): $(INTERNAL_VENDORIMAGE_FILES) + $(BUILT_TARGET_FILES_DIR): $(BUILT_VENDORIMAGE_TARGET) else ifdef BOARD_PREBUILT_VENDORIMAGE $(BUILT_TARGET_FILES_DIR): $(INSTALLED_VENDORIMAGE_TARGET) endif ifdef BUILDING_PRODUCT_IMAGE $(BUILT_TARGET_FILES_DIR): $(INTERNAL_PRODUCTIMAGE_FILES) + $(BUILT_TARGET_FILES_DIR): $(BUILT_PRODUCTIMAGE_TARGET) else ifdef BOARD_PREBUILT_PRODUCTIMAGE $(BUILT_TARGET_FILES_DIR): $(INSTALLED_PRODUCTIMAGE_TARGET) endif ifdef BUILDING_SYSTEM_EXT_IMAGE $(BUILT_TARGET_FILES_DIR): $(INTERNAL_SYSTEM_EXTIMAGE_FILES) + $(BUILT_TARGET_FILES_DIR): $(BUILT_SYSTEM_EXTIMAGE_TARGET) else ifdef BOARD_PREBUILT_SYSTEM_EXTIMAGE $(BUILT_TARGET_FILES_DIR): $(INSTALLED_SYSTEM_EXTIMAGE_TARGET) endif @@ -5953,24 +5968,28 @@ ifdef BUILDING_ODM_IMAGE $(BUILT_TARGET_FILES_DIR): $(INTERNAL_ODMIMAGE_FILES) + $(BUILT_TARGET_FILES_DIR): $(BUILT_ODMIMAGE_TARGET) else ifdef BOARD_PREBUILT_ODMIMAGE $(BUILT_TARGET_FILES_DIR): $(INSTALLED_ODMIMAGE_TARGET) endif ifdef BUILDING_VENDOR_DLKM_IMAGE $(BUILT_TARGET_FILES_DIR): $(INTERNAL_VENDOR_DLKMIMAGE_FILES) + $(BUILT_TARGET_FILES_DIR): $(BUILT_VENDOR_DLKMIMAGE_TARGET) else ifdef BOARD_PREBUILT_VENDOR_DLKMIMAGE $(BUILT_TARGET_FILES_DIR): $(INSTALLED_VENDOR_DLKMIMAGE_TARGET) endif ifdef BUILDING_ODM_DLKM_IMAGE $(BUILT_TARGET_FILES_DIR): $(INTERNAL_ODM_DLKMIMAGE_FILES) + $(BUILT_TARGET_FILES_DIR): $(BUILT_ODM_DLKMIMAGE_TARGET) else ifdef BOARD_PREBUILT_ODM_DLKMIMAGE $(BUILT_TARGET_FILES_DIR): $(INSTALLED_ODM_DLKMIMAGE_TARGET) endif ifdef BUILDING_SYSTEM_DLKM_IMAGE $(BUILT_TARGET_FILES_DIR): $(INTERNAL_SYSTEM_DLKMIMAGE_FILES) + $(BUILT_TARGET_FILES_DIR): $(BUILT_SYSTEM_DLKMIMAGE_TARGET) else ifdef BOARD_PREBUILT_SYSTEM_DLKMIMAGE $(BUILT_TARGET_FILES_DIR): $(INSTALLED_SYSTEM_DLKMIMAGE_TARGET) endif @@ -6022,6 +6041,7 @@ $(SOONG_APEX_KEYS_FILE) \ $(SOONG_ZIP) \ $(HOST_OUT_EXECUTABLES)/fs_config \ + $(HOST_OUT_EXECUTABLES)/map_file_generator \ $(ADD_IMG_TO_TARGET_FILES) \ $(MAKE_RECOVERY_PATCH) \ $(BUILT_KERNEL_CONFIGS_FILE) \ @@ -6378,27 +6398,35 @@ @# Run fs_config on all the system, vendor, boot ramdisk, @# and recovery ramdisk files in the zip, and save the output ifdef BUILDING_SYSTEM_IMAGE + $(hide) $(call copy-image-and-generate-map,$(BUILT_SYSTEMIMAGE),$(zip_root)/IMAGES,system.map) $(hide) $(call fs_config,$(zip_root)/SYSTEM,system/) > $(zip_root)/META/filesystem_config.txt endif ifdef BUILDING_VENDOR_IMAGE + $(hide) $(call copy-image-and-generate-map,$(BUILT_VENDORIMAGE_TARGET),$(zip_root)/IMAGES,vendor.map) $(hide) $(call fs_config,$(zip_root)/VENDOR,vendor/) > $(zip_root)/META/vendor_filesystem_config.txt endif ifdef BUILDING_PRODUCT_IMAGE + $(hide) $(call copy-image-and-generate-map,$(BUILT_PRODUCTIMAGE_TARGET),$(zip_root)/IMAGES,product.map) $(hide) $(call fs_config,$(zip_root)/PRODUCT,product/) > $(zip_root)/META/product_filesystem_config.txt endif ifdef BUILDING_SYSTEM_EXT_IMAGE + $(hide) $(call copy-image-and-generate-map,$(BUILT_SYSTEM_EXTIMAGE_TARGET),$(zip_root)/IMAGES,system_ext.map) $(hide) $(call fs_config,$(zip_root)/SYSTEM_EXT,system_ext/) > $(zip_root)/META/system_ext_filesystem_config.txt endif ifdef BUILDING_ODM_IMAGE + $(hide) $(call copy-image-and-generate-map,$(BUILT_ODMIMAGE_TARGET),$(zip_root)/IMAGES,odm.map) $(hide) $(call fs_config,$(zip_root)/ODM,odm/) > $(zip_root)/META/odm_filesystem_config.txt endif ifdef BUILDING_VENDOR_DLKM_IMAGE + $(hide)$(call copy-image-and-generate-map,$(BUILT_VENDOR_DLKMIMAGE_TARGET),$(zip_root)/IMAGES,vendor_dlkm.map) $(hide) $(call fs_config,$(zip_root)/VENDOR_DLKM,vendor_dlkm/) > $(zip_root)/META/vendor_dlkm_filesystem_config.txt endif ifdef BUILDING_ODM_DLKM_IMAGE + $(hide) $(call copy-image-and-generate-map,$(BUILT_ODM_DLKMIMAGE_TARGET),$(zip_root)/IMAGES,odm_dlkm.map) $(hide) $(call fs_config,$(zip_root)/ODM_DLKM,odm_dlkm/) > $(zip_root)/META/odm_dlkm_filesystem_config.txt endif ifdef BUILDING_SYSTEM_DLKM_IMAGE + $(hide) $(call copy-image-and-generate-map,$(BUILT_SYSTEM_DLKMIMAGE_TARGET),$(zip_root)/IMAGES,system_dlkm.map) $(hide) $(call fs_config,$(zip_root)/SYSTEM_DLKM,system_dlkm/) > $(zip_root)/META/system_dlkm_filesystem_config.txt endif @# ROOT always contains the files for the root under normal boot. @@ -6420,6 +6448,7 @@ $(hide) $(call fs_config,$(zip_root)/RECOVERY/RAMDISK,) > $(zip_root)/META/recovery_filesystem_config.txt endif ifdef BUILDING_SYSTEM_OTHER_IMAGE + $(hide) $(call copy-image-and-generate-map,$(BUILT_SYSTEMOTHERIMAGE_TARGET),$(zip_root)/IMAGES) $(hide) $(call fs_config,$(zip_root)/SYSTEM_OTHER,system/) > $(zip_root)/META/system_other_filesystem_config.txt endif @# Metadata for compatibility verification. @@ -6485,6 +6514,7 @@ $(APKCERTS_FILE) \ $(SOONG_APEX_KEYS_FILE) \ $(HOST_OUT_EXECUTABLES)/fs_config \ + $(HOST_OUT_EXECUTABLES)/map_file_generator \ $(ADD_IMG_TO_TARGET_FILES) \ $(MAKE_RECOVERY_PATCH) \ $(BUILT_KERNEL_CONFIGS_FILE) \