• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1include $(CLEAR_VARS)
2
3enforce_rro_module := $(enforce_rro_source_module)__auto_generated_rro_$(enforce_rro_partition)
4LOCAL_PACKAGE_NAME := $(enforce_rro_module)
5
6intermediates := $(call intermediates-dir-for,APPS,$(LOCAL_PACKAGE_NAME),,COMMON)
7rro_android_manifest_file := $(intermediates)/AndroidManifest.xml
8
9ifeq (true,$(enforce_rro_source_is_manifest_package_name))
10  use_package_name_arg := --use-package-name
11else
12  use_package_name_arg :=
13$(rro_android_manifest_file): $(enforce_rro_source_manifest_package_info)
14endif
15
16$(rro_android_manifest_file): PRIVATE_PACKAGE_INFO := $(enforce_rro_source_manifest_package_info)
17$(rro_android_manifest_file): PRIVATE_USE_PACKAGE_NAME := $(use_package_name_arg)
18$(rro_android_manifest_file): PRIVATE_PARTITION := $(enforce_rro_partition)
19# There should be no duplicate overrides, but just in case, set the priority of
20# /product overlays to be higher than /vendor, to at least get deterministic results.
21$(rro_android_manifest_file): PRIVATE_PRIORITY := $(if $(filter product,$(enforce_rro_partition)),1,0)
22$(rro_android_manifest_file): build/make/tools/generate-enforce-rro-android-manifest.py
23	$(hide) build/make/tools/generate-enforce-rro-android-manifest.py \
24	    --package-info $(PRIVATE_PACKAGE_INFO) \
25	    $(PRIVATE_USE_PACKAGE_NAME) \
26	    --partition $(PRIVATE_PARTITION) \
27	    --priority $(PRIVATE_PRIORITY) \
28	    -o $@
29
30LOCAL_PATH:= $(intermediates)
31
32# TODO(b/187404676): remove this condition when the prebuilt for packges exporting resource exists.
33ifeq (,$(TARGET_BUILD_UNBUNDLED))
34ifeq ($(enforce_rro_use_res_lib),true)
35  LOCAL_RES_LIBRARIES := $(enforce_rro_source_module)
36endif
37endif
38
39LOCAL_FULL_MANIFEST_FILE := $(rro_android_manifest_file)
40
41LOCAL_AAPT_FLAGS += --auto-add-overlay
42LOCAL_RESOURCE_DIR := $(enforce_rro_source_overlays)
43
44ifeq (product,$(enforce_rro_partition))
45  LOCAL_PRODUCT_MODULE := true
46else ifeq (vendor,$(enforce_rro_partition))
47  LOCAL_VENDOR_MODULE := true
48else
49  $(error Unsupported partition. Want: [vendor/product] Got: [$(enforce_rro_partition)])
50endif
51ifneq (,$(TARGET_BUILD_UNBUNDLED))
52  LOCAL_SDK_VERSION := current
53else ifneq (,$(LOCAL_RES_LIBRARIES))
54  # Technically we are linking against the app (if only to grab its resources),
55  # and because it's potentially not building against the SDK, we can't either.
56  LOCAL_PRIVATE_PLATFORM_APIS := true
57else ifeq (framework-res,$(enforce_rro_source_module))
58  LOCAL_PRIVATE_PLATFORM_APIS := true
59else
60  LOCAL_SDK_VERSION := current
61endif
62
63include $(BUILD_RRO_PACKAGE)
64