diff --git a/core/Makefile b/core/Makefile index ab0c04754a..291ea394a0 100644 --- a/core/Makefile +++ b/core/Makefile @@ -263,7 +263,7 @@ ifdef property_overrides_split_enabled INSTALLED_DEFAULT_PROP_TARGET := $(TARGET_OUT)/etc/prop.default INSTALLED_DEFAULT_PROP_OLD_TARGET := $(TARGET_ROOT_OUT)/default.prop ALL_DEFAULT_INSTALLED_MODULES += $(INSTALLED_DEFAULT_PROP_OLD_TARGET) -$(INSTALLED_DEFAULT_PROP_OLD_TARGET): $(INSTALLED_DEFAULT_PROP_TARGET) +$(INSTALLED_DEFAULT_PROP_TARGET): .KATI_IMPLICIT_OUTPUTS := $(INSTALLED_DEFAULT_PROP_OLD_TARGET) else # legacy path INSTALLED_DEFAULT_PROP_TARGET := $(TARGET_ROOT_OUT)/default.prop @@ -1358,10 +1358,10 @@ endif # BUILDING_VENDOR_BOOT_IMAGE # original notice files instead of making rules to copy them somwehere. # Then we could traverse that without quite as much bash drama. define combine-notice-files -$(2) $(3): PRIVATE_MESSAGE := $(4) -$(2) $(3): PRIVATE_DIR := $(5) -$(2) : $(3) -$(3) : $(6) $(BUILD_SYSTEM)/Makefile build/make/tools/generate-notice-files.py +$(2): PRIVATE_MESSAGE := $(4) +$(2): PRIVATE_DIR := $(5) +$(2): .KATI_IMPLICIT_OUTPUTS := $(3) +$(2): $(6) $(BUILD_SYSTEM)/Makefile build/make/tools/generate-notice-files.py build/make/tools/generate-notice-files.py --text-output $(2) $(foreach xdir, $(7), -e $(xdir) )\ $(if $(filter $(1),xml_excluded_vendor_product_odm),-e vendor -e product -e system_ext -e odm --xml-output, \ $(if $(filter $(1),xml_excluded_system_product_odm),-e system -e product -e system_ext -e odm --xml-output, \ diff --git a/core/check_elf_file.mk b/core/check_elf_file.mk index da4168df8a..d54a5b70ba 100644 --- a/core/check_elf_file.mk +++ b/core/check_elf_file.mk @@ -38,6 +38,8 @@ $(check_elf_files_stamp): $(my_prebuilt_src_file) $(my_check_elf_file_shared_lib $< $(hide) touch $@ +CHECK_ELF_FILES.$(check_elf_files_stamp) := 1 + ifneq ($(strip $(LOCAL_CHECK_ELF_FILES)),false) ifneq ($(strip $(BUILD_BROKEN_PREBUILT_ELF_FILES)),true) $(LOCAL_BUILT_MODULE): $(check_elf_files_stamp) diff --git a/core/main.mk b/core/main.mk index 465a396a12..68303cf660 100644 --- a/core/main.mk +++ b/core/main.mk @@ -795,9 +795,10 @@ $(foreach m,$($(if $(2),$($(1)2ND_ARCH_VAR_PREFIX))$(1)DEPENDENCIES_ON_SHARED_LI $($(if $(2),$($(1)2ND_ARCH_VAR_PREFIX))TARGET_OUT_INTERMEDIATES)/SHARED_LIBRARIES/%,\ $(call module-built-files,$(mod)))))\ \ - $(if $(r),\ + $(if $(and $(r),$(deps)),\ $(eval stamp := $(dir $(r))check_elf_files.timestamp)\ - $(eval $(call add-elf-file-check-shared-lib,$(stamp),$(deps)))\ + $(if $(CHECK_ELF_FILES.$(stamp)),\ + $(eval $(call add-elf-file-check-shared-lib,$(stamp),$(deps))))\ )) endef diff --git a/core/package_internal.mk b/core/package_internal.mk index 59e0701e45..62dac99c4b 100644 --- a/core/package_internal.mk +++ b/core/package_internal.mk @@ -377,9 +377,11 @@ ifeq ($(need_compile_res),true) # they want to use this module's R.java file. $(LOCAL_BUILT_MODULE): $(R_file_stamp) +ifneq ($(full_classes_jar),) # The R.java file must exist by the time the java source # list is generated $(java_source_list_file): $(R_file_stamp) +endif endif # need_compile_res