From fd2e967af05abd37983af4a2c62e7ba96f5577e4 Mon Sep 17 00:00:00 2001 From: Sangmin Lee Date: Wed, 21 Aug 2024 17:01:07 +0900 Subject: [PATCH] Optimize: Reduce vendor target build files Prevent system/% files from being built by BUILDING_SYSTEM_IMAGE and data/% files from being built by BUILDING_USERDATA_IMAGE 1) Address issue where system/% files were being built even when PRODUCT_BUILD_SYSTEM_IMAGE was false. This change reduces the ninja targets for aosp_cf_x86_64_phone_vendor-trunk_staging-userdebug from 140,427 to 57,303 Test: lunch aosp_cf_x86_64_phone_vendor-trunk_staging-userdebug ; m 2) Resolve issue where data/% files were being built during "m dist" even if PRODUCT_BUILD_USERDATA_IMAGE was set to false Test: Set any module to install at data partition using LOCAL_MODULE_PATH=$(TARGET_OUT_DATA)/app lunch aosp_cf_x86_64_phone_vendor-trunk_staging-userdebug ; m dist Check the contents at out/target/product/vsoc_x86_64 and out/dist Change-Id: I2a914339231d57598a6f30fc83fd8203d4107a11 --- core/Makefile | 4 +++- core/main.mk | 5 +++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/core/Makefile b/core/Makefile index 18ee77d393..a25bef6a93 100644 --- a/core/Makefile +++ b/core/Makefile @@ -3416,8 +3416,10 @@ endif # PRODUCT_FSVERITY_GENERATE_METADATA # system image INSTALLED_FILES_OUTSIDE_IMAGES := $(filter-out $(TARGET_OUT)/%, $(INSTALLED_FILES_OUTSIDE_IMAGES)) +ifdef BUILDING_SYSTEM_IMAGE INTERNAL_SYSTEMIMAGE_FILES := $(sort $(filter $(TARGET_OUT)/%, \ $(ALL_DEFAULT_INSTALLED_MODULES))) +endif # Create symlink /system/vendor to /vendor if necessary. ifdef BOARD_USES_VENDORIMAGE @@ -3674,10 +3676,10 @@ platform-java: # ----------------------------------------------------------------- # data partition image INSTALLED_FILES_OUTSIDE_IMAGES := $(filter-out $(TARGET_OUT_DATA)/%, $(INSTALLED_FILES_OUTSIDE_IMAGES)) +ifdef BUILDING_USERDATA_IMAGE INTERNAL_USERDATAIMAGE_FILES := \ $(filter $(TARGET_OUT_DATA)/%,$(ALL_DEFAULT_INSTALLED_MODULES)) -ifdef BUILDING_USERDATA_IMAGE userdataimage_intermediates := \ $(call intermediates-dir-for,PACKAGING,userdata) BUILT_USERDATAIMAGE_TARGET := $(PRODUCT_OUT)/userdata.img diff --git a/core/main.mk b/core/main.mk index 85fd65c2f5..5c280da1a2 100644 --- a/core/main.mk +++ b/core/main.mk @@ -1860,6 +1860,11 @@ ifndef INSTALLED_RECOVERYIMAGE_TARGET filter_out_files += $(PRODUCT_OUT)/recovery/% endif +# userdata.img +ifndef BUILDING_USERDATA_IMAGE +filter_out_files += $(PRODUCT_OUT)/data/% +endif + installed_files := $(sort $(filter-out $(filter_out_files),$(filter $(PRODUCT_OUT)/%,$(modules_to_install)))) else installed_files := $(apps_only_installed_files)