diff --git a/core/Makefile b/core/Makefile index 99df084c1c..7975d3a66c 100644 --- a/core/Makefile +++ b/core/Makefile @@ -4621,6 +4621,8 @@ define dump-dynamic-partitions-info echo "lpmake=$(notdir $(LPMAKE))" >> $(1) $(if $(filter true,$(PRODUCT_BUILD_SUPER_PARTITION)), $(if $(BOARD_SUPER_PARTITION_SIZE), \ echo "build_super_partition=true" >> $(1))) + $(if $(BUILDING_SUPER_EMPTY_IMAGE), \ + echo "build_super_empty_partition=true" >> $(1)) $(if $(filter true,$(BOARD_BUILD_RETROFIT_DYNAMIC_PARTITIONS_OTA_PACKAGE)), \ echo "build_retrofit_dynamic_partitions_ota_package=true" >> $(1)) echo "super_metadata_device=$(BOARD_SUPER_PARTITION_METADATA_DEVICE)" >> $(1) @@ -5490,9 +5492,7 @@ endif # PRODUCT_BUILD_SUPER_PARTITION == "true" # ----------------------------------------------------------------- # super empty image - -ifeq (true,$(PRODUCT_USE_DYNAMIC_PARTITIONS)) -ifneq ($(BOARD_SUPER_PARTITION_SIZE),) +ifdef BUILDING_SUPER_EMPTY_IMAGE INSTALLED_SUPERIMAGE_EMPTY_TARGET := $(PRODUCT_OUT)/super_empty.img $(INSTALLED_SUPERIMAGE_EMPTY_TARGET): intermediates := $(call intermediates-dir-for,PACKAGING,super_empty) @@ -5506,8 +5506,7 @@ $(INSTALLED_SUPERIMAGE_EMPTY_TARGET): $(LPMAKE) $(BUILD_SUPER_IMAGE) $(call dist-for-goals,dist_files,$(INSTALLED_SUPERIMAGE_EMPTY_TARGET)) -endif # BOARD_SUPER_PARTITION_SIZE != "" -endif # PRODUCT_USE_DYNAMIC_PARTITIONS == "true" +endif # BUILDING_SUPER_EMPTY_IMAGE # ----------------------------------------------------------------- diff --git a/core/board_config.mk b/core/board_config.mk index 57363fbc76..73b81d63e7 100644 --- a/core/board_config.mk +++ b/core/board_config.mk @@ -460,6 +460,25 @@ ifeq ($(PRODUCT_BUILD_VBMETA_IMAGE),false) endif .KATI_READONLY := BUILDING_VBMETA_IMAGE +# Are we building a super_empty image +BUILDING_SUPER_EMPTY_IMAGE := +ifeq ($(PRODUCT_BUILD_SUPER_EMPTY_IMAGE),) + ifeq (true,$(PRODUCT_USE_DYNAMIC_PARTITIONS)) + ifneq ($(BOARD_SUPER_PARTITION_SIZE),) + BUILDING_SUPER_EMPTY_IMAGE := true + endif + endif +else ifeq ($(PRODUCT_BUILD_SUPER_EMPTY_IMAGE),true) + ifneq (true,$(PRODUCT_USE_DYNAMIC_PARTITIONS)) + $(error PRODUCT_BUILD_SUPER_EMPTY_IMAGE set to true, but PRODUCT_USE_DYNAMIC_PARTITIONS is not true) + endif + ifeq ($(BOARD_SUPER_PARTITION_SIZE),) + $(error PRODUCT_BUILD_SUPER_EMPTY_IMAGE set to true, but BOARD_SUPER_PARTITION_SIZE is not defined) + endif + BUILDING_SUPER_EMPTY_IMAGE := true +endif +.KATI_READONLY := BUILDING_SUPER_EMPTY_IMAGE + ########################################### # Now we can substitute with the real value of TARGET_COPY_OUT_VENDOR ifeq ($(TARGET_COPY_OUT_VENDOR),$(_vendor_path_placeholder)) diff --git a/core/product.mk b/core/product.mk index 19e760b736..175c62a02e 100644 --- a/core/product.mk +++ b/core/product.mk @@ -381,6 +381,7 @@ _product_single_value_vars += PRODUCT_BUILD_RECOVERY_IMAGE _product_single_value_vars += PRODUCT_BUILD_BOOT_IMAGE _product_single_value_vars += PRODUCT_BUILD_VENDOR_BOOT_IMAGE _product_single_value_vars += PRODUCT_BUILD_VBMETA_IMAGE +_product_single_value_vars += PRODUCT_BUILD_SUPER_EMPTY_IMAGE # List of boot jars delivered via apex _product_list_vars += PRODUCT_UPDATABLE_BOOT_JARS diff --git a/tools/releasetools/add_img_to_target_files.py b/tools/releasetools/add_img_to_target_files.py index 900c7b5446..4fe10c6ca1 100644 --- a/tools/releasetools/add_img_to_target_files.py +++ b/tools/releasetools/add_img_to_target_files.py @@ -1027,8 +1027,9 @@ def AddImagesToTargetFiles(filename): AddVBMeta(output_zip, partitions, "vbmeta", vbmeta_partitions) if OPTIONS.info_dict.get("use_dynamic_partitions") == "true": - banner("super_empty") - AddSuperEmpty(output_zip) + if OPTIONS.info_dict.get("build_super_empty_partition") == "true": + banner("super_empty") + AddSuperEmpty(output_zip) if OPTIONS.info_dict.get("build_super_partition") == "true": if OPTIONS.info_dict.get(