blob: 0059e51e82fd7c4e2ea9fc4788d7da6aeadb7e81 [file] [log] [blame]
Colin Crosse05e6df2017-11-15 21:35:27 -08001# App prebuilt coming from Soong.
2# Extra inputs:
3# LOCAL_SOONG_RESOURCE_EXPORT_PACKAGE
4
5ifneq ($(LOCAL_MODULE_MAKEFILE),$(SOONG_ANDROID_MK))
6 $(call pretty-error,soong_app_prebuilt.mk may only be used from Soong)
7endif
8
9LOCAL_MODULE_SUFFIX := .apk
10LOCAL_BUILT_MODULE_STEM := package.apk
11
12#######################################
13include $(BUILD_SYSTEM)/base_rules.mk
14#######################################
15
Colin Cross75a698b2017-12-14 13:19:46 -080016full_classes_jar := $(intermediates.COMMON)/classes.jar
17full_classes_pre_proguard_jar := $(intermediates.COMMON)/classes-pre-proguard.jar
18full_classes_header_jar := $(intermediates.COMMON)/classes-header.jar
19
20$(eval $(call copy-one-file,$(LOCAL_SOONG_CLASSES_JAR),$(full_classes_jar)))
21$(eval $(call copy-one-file,$(LOCAL_SOONG_CLASSES_JAR),$(full_classes_pre_proguard_jar)))
22
Colin Cross20e06d22018-01-02 13:16:43 -080023ifdef LOCAL_SOONG_JACOCO_REPORT_CLASSES_JAR
24 $(eval $(call copy-one-file,$(LOCAL_SOONG_JACOCO_REPORT_CLASSES_JAR),\
25 $(intermediates.COMMON)/jacoco-report-classes.jar))
26 $(call add-dependency,$(LOCAL_BUILT_MODULE),\
27 $(intermediates.COMMON)/jacoco-report-classes.jar)
28endif
29
Colin Cross75a698b2017-12-14 13:19:46 -080030ifneq ($(TURBINE_DISABLED),false)
31ifdef LOCAL_SOONG_HEADER_JAR
32$(eval $(call copy-one-file,$(LOCAL_SOONG_HEADER_JAR),$(full_classes_header_jar)))
33else
34$(eval $(call copy-one-file,$(full_classes_jar),$(full_classes_header_jar)))
35endif
36endif # TURBINE_DISABLED != false
37
38
Colin Crosse05e6df2017-11-15 21:35:27 -080039$(eval $(call copy-one-file,$(LOCAL_PREBUILT_MODULE_FILE),$(LOCAL_BUILT_MODULE)))
40
41ifdef LOCAL_SOONG_RESOURCE_EXPORT_PACKAGE
42resource_export_package := $(intermediates.COMMON)/package-export.apk
43resource_export_stamp := $(intermediates.COMMON)/src/R.stamp
44
45$(resource_export_package): PRIVATE_STAMP := $(resource_export_stamp)
46$(resource_export_package): .KATI_IMPLICIT_OUTPUTS := $(resource_export_stamp)
47$(resource_export_package): $(LOCAL_SOONG_RESOURCE_EXPORT_PACKAGE)
48 @echo "Copy: $$@"
49 $(copy-file-to-target)
50 touch $(PRIVATE_STAMP)
51
52endif # LOCAL_SOONG_RESOURCE_EXPORT_PACKAGE
53
54java-dex: $(LOCAL_SOONG_DEX_JAR)
55
56ifdef LOCAL_DEX_PREOPT
57# defines built_odex along with rule to install odex
58include $(BUILD_SYSTEM)/dex_preopt_odex_install.mk
59
60$(built_odex): $(LOCAL_SOONG_DEX_JAR)
61 $(call dexpreopt-one-file,$<,$@)
62endif
63
Colin Crossaec36402017-12-14 11:20:27 -080064PACKAGES := $(PACKAGES) $(LOCAL_MODULE)
65ifdef LOCAL_CERTIFICATE
Colin Cross4e34ce02017-12-15 13:20:27 -080066 PACKAGES.$(LOCAL_MODULE).CERTIFICATE := $(LOCAL_CERTIFICATE)
67 PACKAGES.$(LOCAL_MODULE).PRIVATE_KEY := $(patsubst %.x509.pem,%.pk8,$(LOCAL_CERTIFICATE))
Colin Crossaec36402017-12-14 11:20:27 -080068endif
69
Colin Crosse05e6df2017-11-15 21:35:27 -080070ifndef LOCAL_IS_HOST_MODULE
71ifeq ($(LOCAL_SDK_VERSION),system_current)
72my_link_type := java:system
73my_warn_types := java:platform
74my_allowed_types := java:sdk java:system
75else ifneq ($(LOCAL_SDK_VERSION),)
76my_link_type := java:sdk
77my_warn_types := java:system java:platform
78my_allowed_types := java:sdk
79else
80my_link_type := java:platform
81my_warn_types :=
82my_allowed_types := java:sdk java:system java:platform
83endif
84
85my_link_deps :=
86my_2nd_arch_prefix := $(LOCAL_2ND_ARCH_VAR_PREFIX)
87my_common := COMMON
88include $(BUILD_SYSTEM)/link_type.mk
89endif # !LOCAL_IS_HOST_MODULE
90
Colin Cross8c5ef242017-11-30 20:11:22 -080091ifdef LOCAL_SOONG_RRO_DIRS
92 $(call append_enforce_rro_sources, \
93 $(my_register_name), \
94 false, \
95 $(LOCAL_FULL_MANIFEST_FILE), \
96 $(LOCAL_EXPORT_PACKAGE_RESOURCES), \
97 $(LOCAL_SOONG_RRO_DIRS))
98endif