| include $(CLEAR_VARS) |
| |
| enforce_rro_module := $(enforce_rro_source_module)__$(PRODUCT_NAME)__auto_generated_rro_$(enforce_rro_partition) |
| LOCAL_PACKAGE_NAME := $(enforce_rro_module) |
| |
| intermediates := $(call intermediates-dir-for,APPS,$(LOCAL_PACKAGE_NAME),,COMMON) |
| rro_android_manifest_file := $(intermediates)/AndroidManifest.xml |
| |
| ifeq (true,$(enforce_rro_source_is_manifest_package_name)) |
| use_package_name_arg := --use-package-name |
| else |
| use_package_name_arg := |
| $(rro_android_manifest_file): $(enforce_rro_source_manifest_package_info) |
| endif |
| |
| $(rro_android_manifest_file): PRIVATE_PACKAGE_INFO := $(enforce_rro_source_manifest_package_info) |
| $(rro_android_manifest_file): PRIVATE_USE_PACKAGE_NAME := $(use_package_name_arg) |
| $(rro_android_manifest_file): PRIVATE_PARTITION := $(enforce_rro_partition) |
| # There should be no duplicate overrides, but just in case, set the priority of |
| # /product overlays to be higher than /vendor, to at least get deterministic results. |
| $(rro_android_manifest_file): PRIVATE_PRIORITY := $(if $(filter product,$(enforce_rro_partition)),1,0) |
| $(rro_android_manifest_file): build/make/tools/generate-enforce-rro-android-manifest.py |
| $(hide) build/make/tools/generate-enforce-rro-android-manifest.py \ |
| --package-info $(PRIVATE_PACKAGE_INFO) \ |
| $(PRIVATE_USE_PACKAGE_NAME) \ |
| --partition $(PRIVATE_PARTITION) \ |
| --priority $(PRIVATE_PRIORITY) \ |
| -o $@ |
| |
| LOCAL_PATH:= $(intermediates) |
| |
| # TODO(b/187404676): remove this condition when the prebuilt for packges exporting resource exists. |
| ifeq (,$(TARGET_BUILD_UNBUNDLED)) |
| ifeq ($(enforce_rro_use_res_lib),true) |
| LOCAL_RES_LIBRARIES := $(enforce_rro_source_module) |
| endif |
| endif |
| |
| LOCAL_FULL_MANIFEST_FILE := $(rro_android_manifest_file) |
| |
| LOCAL_AAPT_FLAGS += --auto-add-overlay --keep-raw-values |
| LOCAL_RESOURCE_DIR := $(enforce_rro_source_overlays) |
| |
| ifeq (product,$(enforce_rro_partition)) |
| LOCAL_PRODUCT_MODULE := true |
| else ifeq (vendor,$(enforce_rro_partition)) |
| LOCAL_VENDOR_MODULE := true |
| else |
| $(error Unsupported partition. Want: [vendor/product] Got: [$(enforce_rro_partition)]) |
| endif |
| ifneq (,$(TARGET_BUILD_UNBUNDLED)) |
| LOCAL_SDK_VERSION := current |
| else ifneq (,$(LOCAL_RES_LIBRARIES)) |
| # Technically we are linking against the app (if only to grab its resources), |
| # and because it's potentially not building against the SDK, we can't either. |
| LOCAL_PRIVATE_PLATFORM_APIS := true |
| else ifeq (framework-res,$(enforce_rro_source_module)) |
| LOCAL_PRIVATE_PLATFORM_APIS := true |
| else |
| LOCAL_SDK_VERSION := current |
| endif |
| |
| include $(BUILD_RRO_PACKAGE) |