diff --git a/core/base_rules.mk b/core/base_rules.mk index 3fef1e486f..998cb0d3fd 100644 --- a/core/base_rules.mk +++ b/core/base_rules.mk @@ -979,6 +979,11 @@ ifneq (,$(LOCAL_SOONG_INSTALLED_MODULE)) $(my_init_rc_pairs) \ $(my_test_data_pairs) \ $(my_vintf_pairs)) + # Store the list of vintf/init_rc as order-only dependencies + ALL_MODULES.$(my_register_name).ORDERONLY_INSTALLED := \ + $(strip $(ALL_MODULES.$(my_register_name).ORDERONLY_INSTALLED) \ + $(my_init_rc_installed) \ + $(my_vintf_installed)) else ifneq (true,$(LOCAL_UNINSTALLABLE_MODULE)) ALL_MODULES.$(my_register_name).INSTALLED := \ $(strip $(ALL_MODULES.$(my_register_name).INSTALLED) \ @@ -988,6 +993,10 @@ else ifneq (true,$(LOCAL_UNINSTALLABLE_MODULE)) $(strip $(ALL_MODULES.$(my_register_name).BUILT_INSTALLED) \ $(LOCAL_BUILT_MODULE):$(LOCAL_INSTALLED_MODULE) \ $(my_init_rc_pairs) $(my_test_data_pairs) $(my_vintf_pairs)) + ALL_MODULES.$(my_register_name).ORDERONLY_INSTALLED := \ + $(strip $(ALL_MODULES.$(my_register_name).ORDERONLY_INSTALLED) \ + $(my_init_rc_installed) \ + $(my_vintf_installed)) endif ifdef LOCAL_PICKUP_FILES # Files or directories ready to pick up by the build system diff --git a/core/main.mk b/core/main.mk index 5a591f914f..058a1a8f87 100644 --- a/core/main.mk +++ b/core/main.mk @@ -810,12 +810,14 @@ $(call add-all-host-cross-to-host-cross-required-modules-deps) # Sets up dependencies such that whenever a target module is installed, # any other target modules listed in $(ALL_MODULES.$(m).REQUIRED_FROM_TARGET) will also be installed +# This doesn't apply to ORDERONLY_INSTALLED items. define add-all-target-to-target-required-modules-deps $(foreach m,$(ALL_MODULES), \ $(eval r := $(ALL_MODULES.$(m).REQUIRED_FROM_TARGET)) \ $(if $(r), \ $(eval r := $(call module-installed-files,$(r))) \ $(eval t_m := $(filter $(TARGET_OUT_ROOT)/%, $(ALL_MODULES.$(m).INSTALLED))) \ + $(eval t_m := $(filter-out $(ALL_MODULES.$(m).ORDERONLY_INSTALLED), $(ALL_MODULES.$(m).INSTALLED))) \ $(eval t_r := $(filter $(TARGET_OUT_ROOT)/%, $(r))) \ $(eval t_r := $(filter-out $(t_m), $(t_r))) \ $(if $(t_m), $(eval $(call add-required-deps, $(t_m),$(t_r)))) \