Use order-only dependencies for symbols files

Use an order-only dependency from $(LOCAL_BUILT_MODULE) to the symbols
file so that wiping the symbols directory during installclean doesn't
force anything to rebuild.

Bug: 186507256
Test: m && rm -rf $OUT/symbols && m
Change-Id: Ic164819c71f9db6126ff91c58752c8727cde0d5e
This commit is contained in:
Colin Cross 2021-04-27 19:43:33 -07:00
parent 63c81449b7
commit db98001be1
5 changed files with 10 additions and 5 deletions

View file

@ -68,7 +68,7 @@ ifneq (,$(my_copy_pairs))
endif
LOCAL_MODULE_CLASS := ETC
include $(BUILD_PREBUILT)
$(LOCAL_BUILT_MODULE): $(my_unstripped_installed)
$(LOCAL_BUILT_MODULE): | $(my_unstripped_installed)
# Installing boot.art causes all boot image bits to be installed.
# Keep this old behavior in case anyone still needs it.
$(LOCAL_INSTALLED_MODULE): $(my_installed)

View file

@ -87,9 +87,14 @@ endif
###########################################################
## Strip
###########################################################
strip_input := $(symbolic_output)
strip_input := $(inject_module)
strip_output := $(LOCAL_BUILT_MODULE)
# Use an order-only dependency to ensure the unstripped file in the symbols
# directory is copied when the module is built, but does not force the
# module to be rebuilt when the symbols directory is cleaned by installclean.
$(strip_output): | $(symbolic_output)
my_strip_module := $(firstword \
$(LOCAL_STRIP_MODULE_$($(my_prefix)$(LOCAL_2ND_ARCH_VAR_PREFIX)ARCH)) \
$(LOCAL_STRIP_MODULE))

View file

@ -147,7 +147,7 @@ endif
# install symbol files of JNI libraries
my_jni_lib_symbols_copy_files := $(foreach f,$(LOCAL_SOONG_JNI_LIBS_SYMBOLS),\
$(call word-colon,1,$(f)):$(patsubst $(PRODUCT_OUT)/%,$(TARGET_OUT_UNSTRIPPED)/%,$(call word-colon,2,$(f))))
$(LOCAL_BUILT_MODULE): $(call copy-many-files, $(my_jni_lib_symbols_copy_files))
$(LOCAL_BUILT_MODULE): | $(call copy-many-files, $(my_jni_lib_symbols_copy_files))
# embedded JNI will already have been handled by soong
my_embed_jni :=

View file

@ -170,7 +170,7 @@ ifndef LOCAL_IS_HOST_MODULE
my_unstripped_path := $(patsubst $(TARGET_OUT_UNSTRIPPED)/root/%,$(TARGET_OUT_UNSTRIPPED)/%, $(my_unstripped_path))
symbolic_output := $(my_unstripped_path)/$(my_installed_module_stem)
$(eval $(call copy-one-file,$(LOCAL_SOONG_UNSTRIPPED_BINARY),$(symbolic_output)))
$(call add-dependency,$(LOCAL_BUILT_MODULE),$(symbolic_output))
$(LOCAL_BUILT_MODULE): | $(symbolic_output)
ifeq ($(BREAKPAD_GENERATE_SYMBOLS),true)
my_breakpad_path := $(TARGET_OUT_BREAKPAD)/$(patsubst $(PRODUCT_OUT)/%,%,$(my_symbol_path))

View file

@ -119,7 +119,7 @@ ifndef LOCAL_IS_HOST_MODULE
my_unstripped_path := $(patsubst $(TARGET_OUT_UNSTRIPPED)/root/%,$(TARGET_OUT_UNSTRIPPED)/%, $(my_unstripped_path))
symbolic_output := $(my_unstripped_path)/$(my_installed_module_stem)
$(eval $(call copy-one-file,$(LOCAL_SOONG_UNSTRIPPED_BINARY),$(symbolic_output)))
$(call add-dependency,$(LOCAL_BUILT_MODULE),$(symbolic_output))
$(LOCAL_BUILT_MODULE): | $(symbolic_output)
endif
endif