diff --git a/core/Makefile b/core/Makefile index 92fef49762..7a04f8ae0c 100644 --- a/core/Makefile +++ b/core/Makefile @@ -2258,6 +2258,9 @@ define build-systemimage-target exit 1 ) endef +ifeq ($(BOARD_AVB_ENABLE),true) +$(BUILT_SYSTEMIMAGE): $(BOARD_AVB_SYSTEM_KEY_PATH) +endif $(BUILT_SYSTEMIMAGE): $(FULL_SYSTEMIMAGE_DEPS) $(INSTALLED_FILES_FILE) $(BUILD_IMAGE_SRCS) $(call build-systemimage-target,$@) diff --git a/core/base_rules.mk b/core/base_rules.mk index 6c7e8831d2..b0e0577a2e 100644 --- a/core/base_rules.mk +++ b/core/base_rules.mk @@ -396,7 +396,7 @@ endif logtags_sources := $(filter %.logtags,$(LOCAL_SRC_FILES)) $(LOCAL_LOGTAGS_FILES) ifneq ($(strip $(logtags_sources)),) -event_log_tags := $(addprefix $(LOCAL_PATH)/,$(logtags_sources)) +event_log_tags := $(foreach f,$(addprefix $(LOCAL_PATH)/,$(logtags_sources)),$(call clean-path,$(f))) else event_log_tags := endif diff --git a/core/binary.mk b/core/binary.mk index a420c02d83..f63e4cdee9 100644 --- a/core/binary.mk +++ b/core/binary.mk @@ -876,7 +876,7 @@ $(dotdot_objects) $(cpp_objects): PRIVATE_ARM_CFLAGS := $(normal_objects_cflags) ifneq ($(strip $(cpp_objects)),) $(cpp_objects): $(intermediates)/%.o: \ $(TOPDIR)$(LOCAL_PATH)/%$(LOCAL_CPP_EXTENSION) \ - $(my_additional_dependencies) + $(my_additional_dependencies) $(CLANG_CXX) $(transform-$(PRIVATE_HOST)cpp-to-o) $(call include-depfiles-for-objs, $(cpp_objects)) endif @@ -897,7 +897,7 @@ $(gen_cpp_objects): PRIVATE_ARM_MODE := $(normal_objects_mode) $(gen_cpp_objects): PRIVATE_ARM_CFLAGS := $(normal_objects_cflags) $(gen_cpp_objects): $(intermediates)/%.o: \ $(intermediates)/%$(LOCAL_CPP_EXTENSION) \ - $(my_additional_dependencies) + $(my_additional_dependencies) $(CLANG_CXX) $(transform-$(PRIVATE_HOST)cpp-to-o) $(call include-depfiles-for-objs, $(gen_cpp_objects)) endif @@ -912,7 +912,7 @@ $(call track-gen-file-obj,$(gen_S_sources),$(gen_S_objects)) ifneq ($(strip $(gen_S_sources)),) $(gen_S_objects): $(intermediates)/%.o: $(intermediates)/%.S \ - $(my_additional_dependencies) + $(my_additional_dependencies) $(CLANG) $(transform-$(PRIVATE_HOST)s-to-o) $(call include-depfiles-for-objs, $(gen_S_objects)) endif @@ -923,7 +923,7 @@ $(call track-gen-file-obj,$(gen_s_sources),$(gen_s_objects)) ifneq ($(strip $(gen_s_objects)),) $(gen_s_objects): $(intermediates)/%.o: $(intermediates)/%.s \ - $(my_additional_dependencies) + $(my_additional_dependencies) $(CLANG) $(transform-$(PRIVATE_HOST)s-to-o) endif @@ -961,7 +961,7 @@ $(dotdot_objects) $(c_objects): PRIVATE_ARM_CFLAGS := $(normal_objects_cflags) ifneq ($(strip $(c_objects)),) $(c_objects): $(intermediates)/%.o: $(TOPDIR)$(LOCAL_PATH)/%.c \ - $(my_additional_dependencies) + $(my_additional_dependencies) $(CLANG) $(transform-$(PRIVATE_HOST)c-to-o) $(call include-depfiles-for-objs, $(c_objects)) endif @@ -981,7 +981,7 @@ ifneq ($(strip $(gen_c_objects)),) $(gen_c_objects): PRIVATE_ARM_MODE := $(normal_objects_mode) $(gen_c_objects): PRIVATE_ARM_CFLAGS := $(normal_objects_cflags) $(gen_c_objects): $(intermediates)/%.o: $(intermediates)/%.c \ - $(my_additional_dependencies) + $(my_additional_dependencies) $(CLANG) $(transform-$(PRIVATE_HOST)c-to-o) $(call include-depfiles-for-objs, $(gen_c_objects)) endif @@ -997,7 +997,7 @@ $(call track-src-file-obj,$(objc_sources),$(objc_objects)) ifneq ($(strip $(objc_objects)),) my_soong_problems += objc $(objc_objects): $(intermediates)/%.o: $(TOPDIR)$(LOCAL_PATH)/%.m \ - $(my_additional_dependencies) + $(my_additional_dependencies) $(CLANG) $(transform-$(PRIVATE_HOST)m-to-o) $(call include-depfiles-for-objs, $(objc_objects)) endif @@ -1012,7 +1012,7 @@ $(call track-src-file-obj,$(objcpp_sources),$(objcpp_objects)) ifneq ($(strip $(objcpp_objects)),) $(objcpp_objects): $(intermediates)/%.o: $(TOPDIR)$(LOCAL_PATH)/%.mm \ - $(my_additional_dependencies) + $(my_additional_dependencies) $(CLANG_CXX) $(transform-$(PRIVATE_HOST)mm-to-o) $(call include-depfiles-for-objs, $(objcpp_objects)) endif @@ -1036,7 +1036,7 @@ $(call track-src-file-obj,$(dotdot_sources),$(dotdot_objects_S)) ifneq ($(strip $(asm_objects_S)),) $(asm_objects_S): $(intermediates)/%.o: $(TOPDIR)$(LOCAL_PATH)/%.S \ - $(my_additional_dependencies) + $(my_additional_dependencies) $(CLANG) $(transform-$(PRIVATE_HOST)s-to-o) $(call include-depfiles-for-objs, $(asm_objects_S)) endif @@ -1056,7 +1056,7 @@ $(call track-src-file-obj,$(dotdot_sources),$(dotdot_objects_s)) ifneq ($(strip $(asm_objects_s)),) $(asm_objects_s): $(intermediates)/%.o: $(TOPDIR)$(LOCAL_PATH)/%.s \ - $(my_additional_dependencies) + $(my_additional_dependencies) $(CLANG) $(transform-$(PRIVATE_HOST)s-to-o) endif @@ -1069,7 +1069,7 @@ asm_sources_asm := $(filter %.asm,$(my_src_files)) ifneq ($(strip $(asm_sources_asm)),) asm_objects_asm := $(addprefix $(intermediates)/,$(asm_sources_asm:.asm=.o)) $(asm_objects_asm): $(intermediates)/%.o: $(TOPDIR)$(LOCAL_PATH)/%.asm \ - $(my_additional_dependencies) + $(my_additional_dependencies) $(YASM) $(transform-asm-to-o) $(call track-src-file-obj,$(asm_sources_asm),$(asm_objects_asm)) @@ -1362,6 +1362,10 @@ built_shared_libraries += \ $(my_ndk_shared_libraries_fullpath) \ $(my_system_shared_libraries_fullpath) \ +built_shared_library_deps += \ + $(my_ndk_shared_libraries_fullpath) \ + $(my_system_shared_libraries_fullpath) \ + else built_shared_libraries := \ $(foreach lib,$(installed_shared_library_module_names), \ diff --git a/core/definitions.mk b/core/definitions.mk index b18cc72db6..4017c470b4 100644 --- a/core/definitions.mk +++ b/core/definitions.mk @@ -1012,7 +1012,7 @@ endef # You must call this with $(eval). define define-aidl-java-rule define-aidl-java-rule-src := $(patsubst %.aidl,%.java,$(subst ../,dotdot/,$(addprefix $(2)/,$(1)))) -$$(define-aidl-java-rule-src) : $(LOCAL_PATH)/$(1) $(AIDL) +$$(define-aidl-java-rule-src) : $(call clean-path,$(LOCAL_PATH)/$(1)) $(AIDL) $$(transform-aidl-to-java) $(3) += $$(define-aidl-java-rule-src) endef @@ -1025,7 +1025,7 @@ endef # You must call this with $(eval). define define-aidl-cpp-rule define-aidl-cpp-rule-src := $(patsubst %.aidl,%$(LOCAL_CPP_EXTENSION),$(subst ../,dotdot/,$(addprefix $(2)/,$(1)))) -$$(define-aidl-cpp-rule-src) : $(LOCAL_PATH)/$(1) $(AIDL_CPP) +$$(define-aidl-cpp-rule-src) : $(call clean-path,$(LOCAL_PATH)/$(1)) $(AIDL_CPP) $$(transform-aidl-to-cpp) $(3) += $$(define-aidl-cpp-rule-src) endef @@ -1365,7 +1365,7 @@ DOTDOT_REPLACEMENT := dotdot/ # $(3): the variable name to collect the output object file. define compile-dotdot-cpp-file o := $(intermediates)/$(patsubst %$(LOCAL_CPP_EXTENSION),%.o,$(subst ../,$(DOTDOT_REPLACEMENT),$(1))) -$$(o) : $(TOPDIR)$(LOCAL_PATH)/$(1) $(2) +$$(o) : $(TOPDIR)$(LOCAL_PATH)/$(1) $(2) $(CLANG_CXX) $$(transform-$$(PRIVATE_HOST)cpp-to-o) $$(call include-depfiles-for-objs, $$(o)) $(3) += $$(o) @@ -1378,7 +1378,7 @@ endef # $(3): the variable name to collect the output object file. define compile-dotdot-c-file o := $(intermediates)/$(patsubst %.c,%.o,$(subst ../,$(DOTDOT_REPLACEMENT),$(1))) -$$(o) : $(TOPDIR)$(LOCAL_PATH)/$(1) $(2) +$$(o) : $(TOPDIR)$(LOCAL_PATH)/$(1) $(2) $(CLANG) $$(transform-$$(PRIVATE_HOST)c-to-o) $$(call include-depfiles-for-objs, $$(o)) $(3) += $$(o) @@ -1391,7 +1391,7 @@ endef # $(3): the variable name to collect the output object file. define compile-dotdot-s-file o := $(intermediates)/$(patsubst %.S,%.o,$(subst ../,$(DOTDOT_REPLACEMENT),$(1))) -$$(o) : $(TOPDIR)$(LOCAL_PATH)/$(1) $(2) +$$(o) : $(TOPDIR)$(LOCAL_PATH)/$(1) $(2) $(CLANG) $$(transform-$$(PRIVATE_HOST)s-to-o) $$(call include-depfiles-for-objs, $$(o)) $(3) += $$(o) @@ -1404,7 +1404,7 @@ endef # $(3): the variable name to collect the output object file. define compile-dotdot-s-file-no-deps o := $(intermediates)/$(patsubst %.s,%.o,$(subst ../,$(DOTDOT_REPLACEMENT),$(1))) -$$(o) : $(TOPDIR)$(LOCAL_PATH)/$(1) $(2) +$$(o) : $(TOPDIR)$(LOCAL_PATH)/$(1) $(2) $(CLANG) $$(transform-$$(PRIVATE_HOST)s-to-o) $(3) += $$(o) endef @@ -1935,7 +1935,7 @@ $(hide) $(AAPT2) link -o $@ \ $(addprefix --manifest ,$(PRIVATE_ANDROID_MANIFEST)) \ $(addprefix -I ,$(PRIVATE_AAPT_INCLUDES)) \ $(addprefix -I ,$(PRIVATE_SHARED_ANDROID_LIBRARIES)) \ - $(addprefix -A ,$(PRIVATE_ASSET_DIR)) \ + $(addprefix -A ,$(foreach d,$(PRIVATE_ASSET_DIR),$(call clean-path,$(d)))) \ $(addprefix --java ,$(PRIVATE_JAVA_GEN_DIR)) \ $(addprefix --proguard ,$(PRIVATE_PROGUARD_OPTIONS_FILE)) \ $(addprefix --min-sdk-version ,$(PRIVATE_DEFAULT_APP_TARGET_SDK)) \ diff --git a/core/executable_internal.mk b/core/executable_internal.mk index 558e49ba37..a9915aa6ec 100644 --- a/core/executable_internal.mk +++ b/core/executable_internal.mk @@ -74,11 +74,11 @@ $(linked_module): PRIVATE_TARGET_CRTEND_O := $(my_target_crtend_o) $(linked_module): PRIVATE_POST_LINK_CMD := $(LOCAL_POST_LINK_CMD) ifeq ($(LOCAL_FORCE_STATIC_EXECUTABLE),true) -$(linked_module): $(my_target_crtbegin_static_o) $(all_objects) $(all_libraries) $(my_target_crtend_o) $(my_target_libcrt_builtins) $(my_target_libgcc) $(my_target_libatomic) +$(linked_module): $(my_target_crtbegin_static_o) $(all_objects) $(all_libraries) $(my_target_crtend_o) $(my_target_libcrt_builtins) $(my_target_libgcc) $(my_target_libatomic) $(CLANG_CXX) $(transform-o-to-static-executable) $(PRIVATE_POST_LINK_CMD) else -$(linked_module): $(my_target_crtbegin_dynamic_o) $(all_objects) $(all_libraries) $(my_target_crtend_o) $(my_target_libcrt_builtins) $(my_target_libgcc) $(my_target_libatomic) +$(linked_module): $(my_target_crtbegin_dynamic_o) $(all_objects) $(all_libraries) $(my_target_crtend_o) $(my_target_libcrt_builtins) $(my_target_libgcc) $(my_target_libatomic) $(CLANG_CXX) $(transform-o-to-executable) $(PRIVATE_POST_LINK_CMD) endif diff --git a/core/host_executable_internal.mk b/core/host_executable_internal.mk index e72c4192bd..0cf62a4323 100644 --- a/core/host_executable_internal.mk +++ b/core/host_executable_internal.mk @@ -39,7 +39,7 @@ $(LOCAL_BUILT_MODULE): PRIVATE_RPATHS := ../$(my_libdir) $(my_libdir) endif my_libdir := -$(LOCAL_BUILT_MODULE): $(all_objects) $(all_libraries) +$(LOCAL_BUILT_MODULE): $(all_objects) $(all_libraries) $(CLANG_CXX) $(transform-host-o-to-executable) endif # skip_build_from_source diff --git a/core/java.mk b/core/java.mk index 449da113a7..b463037fbc 100644 --- a/core/java.mk +++ b/core/java.mk @@ -409,7 +409,7 @@ legacy_proguard_flags := $(addprefix -libraryjars ,$(my_proguard_sdk_raise) \ $(full_shared_java_header_libs))) legacy_proguard_lib_deps := $(my_proguard_sdk_raise) \ - $(filter-out $(my_proguard_sdk_raise),$(full_shared_java_header_libs)) + $(filter-out $(my_proguard_sdk_raise),$(full_java_bootclasspath_libs) $(full_shared_java_header_libs)) legacy_proguard_flags += -printmapping $(proguard_dictionary) legacy_proguard_flags += -printconfiguration $(proguard_configuration) diff --git a/core/java_library.mk b/core/java_library.mk index c706cea724..34e487449e 100644 --- a/core/java_library.mk +++ b/core/java_library.mk @@ -68,7 +68,7 @@ else # !LOCAL_IS_STATIC_JAVA_LIBRARY $(common_javalib.jar): PRIVATE_DEX_FILE := $(built_dex) $(common_javalib.jar): PRIVATE_SOURCE_ARCHIVE := $(full_classes_pre_proguard_jar) $(common_javalib.jar): $(MERGE_ZIPS) $(SOONG_ZIP) $(ZIP2ZIP) -$(common_javalib.jar) : $(built_dex) $(java_resource_sources) | $(ZIPTIME) $(ZIPALIGN) +$(common_javalib.jar) : $(full_classes_pre_proguard_jar) $(built_dex) $(java_resource_sources) | $(ZIPTIME) $(ZIPALIGN) @echo "target Jar: $(PRIVATE_MODULE) ($@)" rm -rf $@.parts && mkdir -p $@.parts $(call create-dex-jar,$@.parts/dex.zip,$(PRIVATE_DEX_FILE)) diff --git a/core/package_internal.mk b/core/package_internal.mk index fcaf947df3..d693c585bf 100644 --- a/core/package_internal.mk +++ b/core/package_internal.mk @@ -428,7 +428,7 @@ ifneq ($(full_classes_jar),) $(LOCAL_BUILT_MODULE): PRIVATE_DEX_FILE := $(built_dex) # Use the jarjar processed arhive as the initial package file. $(LOCAL_BUILT_MODULE): PRIVATE_SOURCE_ARCHIVE := $(full_classes_pre_proguard_jar) -$(LOCAL_BUILT_MODULE): $(built_dex) +$(LOCAL_BUILT_MODULE): $(built_dex) $(full_classes_pre_proguard_jar) else $(LOCAL_BUILT_MODULE): PRIVATE_DEX_FILE := $(LOCAL_BUILT_MODULE): PRIVATE_SOURCE_ARCHIVE := @@ -651,7 +651,7 @@ endif ## the APK ifdef LOCAL_DEX_PREOPT $(my_dex_jar): PRIVATE_DEX_FILE := $(built_dex) - $(my_dex_jar): $(built_dex) + $(my_dex_jar): $(built_dex) $(SOONG_ZIP) $(hide) mkdir -p $(dir $@) && rm -f $@ $(call create-dex-jar,$@,$(PRIVATE_DEX_FILE)) endif diff --git a/core/prebuilt_internal.mk b/core/prebuilt_internal.mk index ad62e1a82f..7006667b00 100644 --- a/core/prebuilt_internal.mk +++ b/core/prebuilt_internal.mk @@ -23,13 +23,13 @@ my_32_64_bit_suffix := $(if $($(LOCAL_2ND_ARCH_VAR_PREFIX)$(my_prefix)IS_64_BIT) ifdef LOCAL_PREBUILT_MODULE_FILE my_prebuilt_src_file := $(LOCAL_PREBUILT_MODULE_FILE) else ifdef LOCAL_SRC_FILES_$($(my_prefix)$(LOCAL_2ND_ARCH_VAR_PREFIX)ARCH) - my_prebuilt_src_file := $(LOCAL_PATH)/$(LOCAL_SRC_FILES_$($(my_prefix)$(LOCAL_2ND_ARCH_VAR_PREFIX)ARCH)) + my_prebuilt_src_file := $(call clean-path,$(LOCAL_PATH)/$(LOCAL_SRC_FILES_$($(my_prefix)$(LOCAL_2ND_ARCH_VAR_PREFIX)ARCH))) LOCAL_SRC_FILES_$($(my_prefix)$(LOCAL_2ND_ARCH_VAR_PREFIX)ARCH) := else ifdef LOCAL_SRC_FILES_$(my_32_64_bit_suffix) - my_prebuilt_src_file := $(LOCAL_PATH)/$(LOCAL_SRC_FILES_$(my_32_64_bit_suffix)) + my_prebuilt_src_file := $(call clean-path,$(LOCAL_PATH)/$(LOCAL_SRC_FILES_$(my_32_64_bit_suffix))) LOCAL_SRC_FILES_$(my_32_64_bit_suffix) := else ifdef LOCAL_SRC_FILES - my_prebuilt_src_file := $(LOCAL_PATH)/$(LOCAL_SRC_FILES) + my_prebuilt_src_file := $(call clean-path,$(LOCAL_PATH)/$(LOCAL_SRC_FILES)) LOCAL_SRC_FILES := else ifdef LOCAL_REPLACE_PREBUILT_APK_INSTALLED # This is handled specially in app_prebuilt_internal.mk diff --git a/core/shared_library_internal.mk b/core/shared_library_internal.mk index 858884a436..8ec07f8e6e 100644 --- a/core/shared_library_internal.mk +++ b/core/shared_library_internal.mk @@ -73,7 +73,7 @@ $(linked_module): \ $(my_target_libcrt_builtins) \ $(my_target_libgcc) \ $(my_target_libatomic) \ - $(LOCAL_ADDITIONAL_DEPENDENCIES) + $(LOCAL_ADDITIONAL_DEPENDENCIES) $(CLANG_CXX) $(transform-o-to-shared-lib) ifeq ($(my_native_coverage),true) diff --git a/core/static_library_internal.mk b/core/static_library_internal.mk index f82e50162c..039246098f 100644 --- a/core/static_library_internal.mk +++ b/core/static_library_internal.mk @@ -21,7 +21,7 @@ endif include $(BUILD_SYSTEM)/binary.mk $(LOCAL_BUILT_MODULE) : $(built_whole_libraries) -$(LOCAL_BUILT_MODULE) : $(all_objects) +$(LOCAL_BUILT_MODULE) : $(all_objects) $($(LOCAL_2ND_ARCH_VAR_PREFIX)TARGET_AR) $(transform-o-to-static-lib) ifeq ($(NATIVE_COVERAGE),true)