diff --git a/core/definitions.mk b/core/definitions.mk index cd1b36e4c7..6543147ba6 100644 --- a/core/definitions.mk +++ b/core/definitions.mk @@ -3954,6 +3954,7 @@ $(foreach source,$(ENFORCE_RRO_SOURCES), \ $(eval enforce_rro_partition := $(word 6,$(_o))) \ $(eval include $(BUILD_SYSTEM)/generate_enforce_rro.mk) \ $(eval ALL_MODULES.$$(enforce_rro_source_module).REQUIRED_FROM_TARGET += $$(LOCAL_PACKAGE_NAME)) \ + $(eval ENFORCE_RRO_PACKAGES_$$(call to-upper,$(enforce_rro_partition)) += $$(LOCAL_PACKAGE_NAME)) \ ) endef diff --git a/core/main.mk b/core/main.mk index 076183b1a7..70b94c706b 100644 --- a/core/main.mk +++ b/core/main.mk @@ -255,6 +255,8 @@ $(readonly-final-product-vars) ifneq ($(PRODUCT_ENFORCE_RRO_TARGETS),) ENFORCE_RRO_SOURCES := +ENFORCE_RRO_PACKAGES_PRODUCT := +ENFORCE_RRO_PACKAGES_VENDOR := endif # Color-coded warnings including current module info @@ -337,6 +339,22 @@ endef # ------------------------------------------------------------------- ifneq ($(PRODUCT_ENFORCE_RRO_TARGETS),) $(call generate_all_enforce_rro_packages) + +_modules_with_rro_suffix := +$(foreach m,$(PRODUCT_PACKAGES), \ + $(eval _modules_with_rro_suffix += $$(m)__$(PRODUCT_NAME)__auto_generated_rro_%)) + +include $(CLEAR_VARS) +LOCAL_MODULE := enforce_rro_packages_product +LOCAL_MODULE_TAGS := optional +LOCAL_REQUIRED_MODULES := $(filter $(_modules_with_rro_suffix),$(ENFORCE_RRO_PACKAGES_PRODUCT)) +include $(BUILD_PHONY_PACKAGE) + +include $(CLEAR_VARS) +LOCAL_MODULE := enforce_rro_packages_vendor +LOCAL_MODULE_TAGS := optional +LOCAL_REQUIRED_MODULES := $(filter $(_modules_with_rro_suffix),$(ENFORCE_RRO_PACKAGES_VENDOR)) +include $(BUILD_PHONY_PACKAGE) endif # -------------------------------------------------------------------