diff --git a/core/Makefile b/core/Makefile index 191ca921a2..4e03c92090 100644 --- a/core/Makefile +++ b/core/Makefile @@ -4266,12 +4266,83 @@ endef # full system image deps, we speed up builds that do not build the system # image. ifdef BUILDING_SYSTEM_IMAGE -$(BUILT_TARGET_FILES_PACKAGE): $(FULL_SYSTEMIMAGE_DEPS) + $(BUILT_TARGET_FILES_PACKAGE): $(FULL_SYSTEMIMAGE_DEPS) +endif + +ifdef BUILDING_USERDATA_IMAGE + $(BUILT_TARGET_FILES_PACKAGE): $(INTERNAL_USERDATAIMAGE_FILES) +endif + +ifdef BUILDING_SYSTEM_OTHER_IMAGE + $(BUILT_TARGET_FILES_PACKAGE): $(INTERNAL_SYSTEMOTHERIMAGE_FILES) +endif + +ifdef BUILDING_VENDOR_BOOT_IMAGE + $(BUILT_TARGET_FILES_PACKAGE): $(INTERNAL_VENDOR_RAMDISK_FILES) +endif + +ifdef BUILDING_RECOVERY_IMAGE + # TODO(b/30414428): Can't depend on INTERNAL_RECOVERYIMAGE_FILES alone like other + # BUILD_TARGET_FILES_PACKAGE dependencies because currently there're cp/rsync/rm + # commands in build-recoveryimage-target, which would touch the files under + # TARGET_RECOVERY_OUT and race with packaging target-files.zip. + ifeq ($(BOARD_USES_RECOVERY_AS_BOOT),true) + $(BUILT_TARGET_FILES_PACKAGE): $(INSTALLED_BOOTIMAGE_TARGET) + else + $(BUILT_TARGET_FILES_PACKAGE): $(INSTALLED_RECOVERYIMAGE_TARGET) + endif + $(BUILT_TARGET_FILES_PACKAGE): $(INTERNAL_RECOVERYIMAGE_FILES) +endif + +# Conditionally depend on the image files if the image is being built so the +# target-files.zip rule doesn't wait on the image creation rule, or the image +# if it is coming from a prebuilt. + +ifdef BUILDING_VENDOR_IMAGE + $(BUILT_TARGET_FILES_PACKAGE): $(INTERNAL_VENDORIMAGE_FILES) +else ifdef BOARD_PREBUILT_VENDORIMAGE + $(BUILT_TARGET_FILES_PACKAGE): $(INSTALLED_VENDORIMAGE_TARGET) +endif + +ifdef BUILDING_PRODUCT_IMAGE + $(BUILT_TARGET_FILES_PACKAGE): $(INTERNAL_PRODUCTIMAGE_FILES) +else ifdef BOARD_PREBUILT_PRODUCTIMAGE + $(BUILT_TARGET_FILES_PACKAGE): $(INSTALLED_PRODUCTIMAGE_TARGET) +endif + +ifdef BUILDING_SYSTEM_EXT_IMAGE + $(BUILT_TARGET_FILES_PACKAGE): $(INTERNAL_SYSTEM_EXTIMAGE_FILES) +else ifdef BOARD_PREBUILT_SYSTEM_EXTIMAGE + $(BUILT_TARGET_FILES_PACKAGE): $(INSTALLED_SYSTEM_EXTIMAGE_TARGET) +endif + +ifdef BUILDING_BOOT_IMAGE + $(BUILT_TARGET_FILES_PACKAGE): $(INTERNAL_RAMDISK_FILES) +else ifdef BOARD_PREBUILT_BOOTIMAGE + $(BUILT_TARGET_FILES_PACKAGE): $(INSTALLED_BOOTIMAGE_TARGET) +endif + +ifdef BUILDING_ODM_IMAGE + $(BUILT_TARGET_FILES_PACKAGE): $(INTERNAL_ODMIMAGE_FILES) +else ifdef BOARD_PREBUILT_ODMIMAGE + $(BUILT_TARGET_FILES_PACKAGE): $(INSTALLED_ODMIMAGE_TARGET) +endif + +ifdef BUILDING_VENDOR_DLKM_IMAGE + $(BUILT_TARGET_FILES_PACKAGE): $(INTERNAL_VENDOR_DLKMIMAGE_FILES) +else ifdef BOARD_PREBUILT_VENDOR_DLKIMMAGE + $(BUILT_TARGET_FILES_PACKAGE): $(INSTALLED_VENDOR_DLKMIMAGE_TARGET) +endif + +ifdef BUILDING_ODM_DLKM_IMAGE + $(BUILT_TARGET_FILES_PACKAGE): $(INTERNAL_ODM_DLKMIMAGE_FILES) +else ifdef BOARD_ODM_VENDOR_DLKIMMAGE + $(BUILT_TARGET_FILES_PACKAGE): $(INSTALLED_ODM_DLKMIMAGE_TARGET) endif ifeq ($(BUILD_QEMU_IMAGES),true) -MK_VBMETA_BOOT_KERNEL_CMDLINE_SH := device/generic/goldfish/tools/mk_vbmeta_boot_params.sh -$(BUILT_TARGET_FILES_PACKAGE): $(MK_VBMETA_BOOT_KERNEL_CMDLINE_SH) + MK_VBMETA_BOOT_KERNEL_CMDLINE_SH := device/generic/goldfish/tools/mk_vbmeta_boot_params.sh + $(BUILT_TARGET_FILES_PACKAGE): $(MK_VBMETA_BOOT_KERNEL_CMDLINE_SH) endif ifdef BOARD_PREBUILT_BOOTLOADER @@ -4282,23 +4353,11 @@ endif # Depending on the various images guarantees that the underlying # directories are up-to-date. $(BUILT_TARGET_FILES_PACKAGE): \ - $(INSTALLED_RAMDISK_TARGET) \ - $(INSTALLED_BOOTIMAGE_TARGET) \ - $(INSTALLED_VENDOR_BOOTIMAGE_TARGET) \ $(INSTALLED_RADIOIMAGE_TARGET) \ $(INSTALLED_RECOVERYIMAGE_TARGET) \ - $(INSTALLED_USERDATAIMAGE_TARGET) \ $(INSTALLED_CACHEIMAGE_TARGET) \ - $(INSTALLED_VENDORIMAGE_TARGET) \ - $(INSTALLED_PRODUCTIMAGE_TARGET) \ - $(INSTALLED_SYSTEM_EXTIMAGE_TARGET) \ - $(INSTALLED_VBMETAIMAGE_TARGET) \ - $(INSTALLED_ODMIMAGE_TARGET) \ - $(INSTALLED_VENDOR_DLKMIMAGE_TARGET) \ - $(INSTALLED_ODM_DLKMIMAGE_TARGET) \ $(INSTALLED_DTBOIMAGE_TARGET) \ $(INSTALLED_CUSTOMIMAGES_TARGET) \ - $(INTERNAL_SYSTEMOTHERIMAGE_FILES) \ $(INSTALLED_ANDROID_INFO_TXT_TARGET) \ $(INSTALLED_KERNEL_TARGET) \ $(INSTALLED_DTBIMAGE_TARGET) \ @@ -4652,9 +4711,7 @@ endif .PHONY: target-files-package target-files-package: $(BUILT_TARGET_FILES_PACKAGE) -ifneq ($(filter $(MAKECMDGOALS),target-files-package),) $(call dist-for-goals, target-files-package, $(BUILT_TARGET_FILES_PACKAGE)) -endif # ----------------------------------------------------------------- # NDK Sysroot Package @@ -4728,13 +4785,12 @@ endif # build_ota_package APPCOMPAT_ZIP := $(PRODUCT_OUT)/appcompat.zip # For apps_only build we'll establish the dependency later in build/make/core/main.mk. ifeq (,$(TARGET_BUILD_UNBUNDLED)) -$(APPCOMPAT_ZIP): $(INSTALLED_SYSTEMIMAGE_TARGET) \ - $(INSTALLED_RAMDISK_TARGET) \ - $(INSTALLED_BOOTIMAGE_TARGET) \ - $(INSTALLED_USERDATAIMAGE_TARGET) \ - $(INSTALLED_VENDORIMAGE_TARGET) \ - $(INSTALLED_PRODUCTIMAGE_TARGET) \ - $(INSTALLED_SYSTEM_EXTIMAGE_TARGET) +$(APPCOMPAT_ZIP): $(FULL_SYSTEMIMAGE_DEPS) \ + $(INTERNAL_RAMDISK_FILES) \ + $(INTERNAL_USERDATAIMAGE_FILES) \ + $(INTERNAL_VENDORIMAGE_FILES) \ + $(INTERNAL_PRODUCTIMAGE_FILES) \ + $(INTERNAL_SYSTEM_EXTIMAGE_FILES) endif $(APPCOMPAT_ZIP): PRIVATE_LIST_FILE := $(call intermediates-dir-for,PACKAGING,appcompat)/filelist $(APPCOMPAT_ZIP): $(SOONG_ZIP) @@ -4757,16 +4813,15 @@ name := $(name)-symbols-$(FILE_NAME_TAG) SYMBOLS_ZIP := $(PRODUCT_OUT)/$(name).zip # For apps_only build we'll establish the dependency later in build/make/core/main.mk. ifeq (,$(TARGET_BUILD_UNBUNDLED)) -$(SYMBOLS_ZIP): $(INSTALLED_SYSTEMIMAGE_TARGET) \ - $(INSTALLED_RAMDISK_TARGET) \ - $(INSTALLED_BOOTIMAGE_TARGET) \ - $(INSTALLED_USERDATAIMAGE_TARGET) \ - $(INSTALLED_VENDORIMAGE_TARGET) \ - $(INSTALLED_PRODUCTIMAGE_TARGET) \ - $(INSTALLED_SYSTEM_EXTIMAGE_TARGET) \ - $(INSTALLED_ODMIMAGE_TARGET) \ - $(INSTALLED_VENDOR_DLKMIMAGE_TARGET) \ - $(INSTALLED_ODM_DLKMIMAGE_TARGET) \ +$(SYMBOLS_ZIP): $(FULL_SYSTEMIMAGE_DEPS) \ + $(INTERNAL_RAMDISK_FILES) \ + $(INTERNAL_USERDATAIMAGE_FILES) \ + $(INTERNAL_VENDORIMAGE_FILES) \ + $(INTERNAL_PRODUCTIMAGE_FILES) \ + $(INTERNAL_SYSTEM_EXTIMAGE_FILES) \ + $(INTERNAL_ODMIMAGE_FILES) \ + $(INTERNAL_VENDOR_DLKMIMAGE_FILES) \ + $(INTERNAL_ODM_DLKMIMAGE_FILES) \ $(updater_dep) endif $(SYMBOLS_ZIP): PRIVATE_LIST_FILE := $(call intermediates-dir-for,PACKAGING,symbols)/filelist @@ -4785,16 +4840,15 @@ name := $(name)_debug endif COVERAGE_ZIP := $(PRODUCT_OUT)/$(name).zip ifeq (,$(TARGET_BUILD_UNBUNDLED)) -$(COVERAGE_ZIP): $(INSTALLED_SYSTEMIMAGE_TARGET) \ - $(INSTALLED_RAMDISK_TARGET) \ - $(INSTALLED_BOOTIMAGE_TARGET) \ - $(INSTALLED_USERDATAIMAGE_TARGET) \ - $(INSTALLED_VENDORIMAGE_TARGET) \ - $(INSTALLED_PRODUCTIMAGE_TARGET) \ - $(INSTALLED_SYSTEM_EXTIMAGE_TARGET) \ - $(INSTALLED_ODMIMAGE_TARGET) \ - $(INSTALLED_VENDOR_DLKMIMAGE_TARGET) \ - $(INSTALLED_ODM_DLKMIMAGE_TARGET) +$(COVERAGE_ZIP): $(FULL_SYSTEMIMAGE_DEPS) \ + $(INTERNAL_RAMDISK_FILES) \ + $(INTERNAL_USERDATAIMAGE_FILES) \ + $(INTERNAL_VENDORIMAGE_FILES) \ + $(INTERNAL_PRODUCTIMAGE_FILES) \ + $(INTERNAL_SYSTEM_EXTIMAGE_FILES) \ + $(INTERNAL_ODMIMAGE_FILES) \ + $(INTERNAL_VENDOR_DLKMIMAGE_FILES) \ + $(INTERNAL_ODM_DLKMIMAGE_FILES) endif $(COVERAGE_ZIP): PRIVATE_LIST_FILE := $(call intermediates-dir-for,PACKAGING,coverage)/filelist $(COVERAGE_ZIP): $(SOONG_ZIP) @@ -4828,7 +4882,7 @@ endif name := $(name)-apps-$(FILE_NAME_TAG) APPS_ZIP := $(PRODUCT_OUT)/$(name).zip -$(APPS_ZIP): $(INSTALLED_SYSTEMIMAGE_TARGET) +$(APPS_ZIP): $(FULL_SYSTEMIMAGE_DEPS) @echo "Package apps: $@" $(hide) rm -rf $@ $(hide) mkdir -p $(dir $@) @@ -4863,16 +4917,15 @@ PROGUARD_DICT_ZIP := $(PRODUCT_OUT)/$(TARGET_PRODUCT)-proguard-dict-$(FILE_NAME_ # For apps_only build we'll establish the dependency later in build/make/core/main.mk. ifeq (,$(TARGET_BUILD_UNBUNDLED)) $(PROGUARD_DICT_ZIP): \ - $(INSTALLED_SYSTEMIMAGE_TARGET) \ - $(INSTALLED_RAMDISK_TARGET) \ - $(INSTALLED_BOOTIMAGE_TARGET) \ - $(INSTALLED_USERDATAIMAGE_TARGET) \ - $(INSTALLED_VENDORIMAGE_TARGET) \ - $(INSTALLED_PRODUCTIMAGE_TARGET) \ - $(INSTALLED_SYSTEM_EXTIMAGE_TARGET) \ - $(INSTALLED_ODMIMAGE_TARGET) \ - $(INSTALLED_VENDOR_DLKMIMAGE_TARGET) \ - $(INSTALLED_ODM_DLKMIMAGE_TARGET) \ + $(FULL_SYSTEMIMAGE_DEPS) \ + $(INTERNAL_RAMDISK_FILES) \ + $(INTERNAL_USERDATAIMAGE_FILES) \ + $(INTERNAL_VENDORIMAGE_FILES) \ + $(INTERNAL_PRODUCTIMAGE_FILES) \ + $(INTERNAL_SYSTEM_EXTIMAGE_FILES) \ + $(INTERNAL_ODMIMAGE_FILES) \ + $(INTERNAL_VENDOR_DLKMIMAGE_FILES) \ + $(INTERNAL_ODM_DLKMIMAGE_FILES) \ $(updater_dep) endif $(PROGUARD_DICT_ZIP): PRIVATE_LIST_FILE := $(call intermediates-dir-for,PACKAGING,proguard)/filelist diff --git a/core/main.mk b/core/main.mk index b9f4875580..0eca029646 100644 --- a/core/main.mk +++ b/core/main.mk @@ -421,7 +421,7 @@ ifdef is_sdk_build sdk_repo_goal := $(strip $(filter sdk_repo,$(MAKECMDGOALS))) MAKECMDGOALS := $(strip $(filter-out sdk_repo,$(MAKECMDGOALS))) -ifneq ($(words $(sort $(filter-out $(INTERNAL_MODIFIER_TARGETS) checkbuild emulator_tests target-files-package,$(MAKECMDGOALS)))),1) +ifneq ($(words $(sort $(filter-out $(INTERNAL_MODIFIER_TARGETS) checkbuild emulator_tests,$(MAKECMDGOALS)))),1) $(error The 'sdk' target may not be specified with any other targets) endif diff --git a/core/ninja_config.mk b/core/ninja_config.mk index 4d1009fda8..6fccacda29 100644 --- a/core/ninja_config.mk +++ b/core/ninja_config.mk @@ -35,7 +35,6 @@ PARSE_TIME_MAKE_GOALS := \ sdk_addon \ sdk_repo \ stnod \ - target-files-package \ test-art% \ user \ userdataimage \