blob: 837920ff5376868e36977fb30626e254923d9df4 [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 Cross5e0986c2017-12-27 19:46:02 -080030ifdef LOCAL_SOONG_PROGUARD_DICT
31 $(eval $(call copy-one-file,$(LOCAL_SOONG_PROGUARD_DICT),\
32 $(intermediates.COMMON)/proguard_dictionary))
33 $(call add-dependency,$(LOCAL_BUILT_MODULE),\
34 $(intermediates.COMMON)/proguard_dictionary)
35endif
36
Nan Zhang78c19aa2018-03-05 13:35:45 -080037ifneq ($(TURBINE_ENABLED),false)
Colin Cross75a698b2017-12-14 13:19:46 -080038ifdef LOCAL_SOONG_HEADER_JAR
39$(eval $(call copy-one-file,$(LOCAL_SOONG_HEADER_JAR),$(full_classes_header_jar)))
40else
41$(eval $(call copy-one-file,$(full_classes_jar),$(full_classes_header_jar)))
42endif
Nan Zhang78c19aa2018-03-05 13:35:45 -080043endif # TURBINE_ENABLED != false
Colin Cross75a698b2017-12-14 13:19:46 -080044
45
Colin Crosse05e6df2017-11-15 21:35:27 -080046ifdef LOCAL_SOONG_RESOURCE_EXPORT_PACKAGE
47resource_export_package := $(intermediates.COMMON)/package-export.apk
48resource_export_stamp := $(intermediates.COMMON)/src/R.stamp
49
50$(resource_export_package): PRIVATE_STAMP := $(resource_export_stamp)
51$(resource_export_package): .KATI_IMPLICIT_OUTPUTS := $(resource_export_stamp)
52$(resource_export_package): $(LOCAL_SOONG_RESOURCE_EXPORT_PACKAGE)
53 @echo "Copy: $$@"
54 $(copy-file-to-target)
55 touch $(PRIVATE_STAMP)
Colin Cross78741382018-02-20 17:21:36 -080056$(call add-dependency,$(LOCAL_BUILT_MODULE),$(resource_export_package))
Colin Crosse05e6df2017-11-15 21:35:27 -080057
58endif # LOCAL_SOONG_RESOURCE_EXPORT_PACKAGE
59
60java-dex: $(LOCAL_SOONG_DEX_JAR)
61
Colin Crosse05e6df2017-11-15 21:35:27 -080062# defines built_odex along with rule to install odex
63include $(BUILD_SYSTEM)/dex_preopt_odex_install.mk
64
Colin Cross53c8f972018-09-28 16:19:42 -070065ifneq ($(BUILD_PLATFORM_ZIP),)
66 $(eval $(call copy-one-file,$(LOCAL_SOONG_DEX_JAR),$(dir $(LOCAL_BUILT_MODULE))package.dex.apk))
67endif
68
Colin Cross1fe104c2018-09-18 10:16:37 -070069ifdef LOCAL_DEX_PREOPT
70 $(built_odex): $(LOCAL_SOONG_DEX_JAR)
Colin Crosse05e6df2017-11-15 21:35:27 -080071 $(call dexpreopt-one-file,$<,$@)
Colin Crossfc782ad2018-10-22 13:44:27 -070072 $(eval $(call dexpreopt-copy-jar,$(LOCAL_PREBUILT_MODULE_FILE),$(LOCAL_BUILT_MODULE),$(LOCAL_STRIP_DEX)))
Colin Cross1fe104c2018-09-18 10:16:37 -070073else
74 $(eval $(call copy-one-file,$(LOCAL_PREBUILT_MODULE_FILE),$(LOCAL_BUILT_MODULE)))
Colin Crosse05e6df2017-11-15 21:35:27 -080075endif
76
Colin Cross0fa751b2018-10-03 14:09:18 -070077# embedded JNI will already have been handled by soong
78my_embed_jni :=
79my_prebuilt_jni_libs :=
80ifdef LOCAL_SOONG_JNI_LIBS_$(TARGET_ARCH)
81 my_2nd_arch_prefix :=
82 LOCAL_JNI_SHARED_LIBRARIES := $(LOCAL_SOONG_JNI_LIBS_$(TARGET_ARCH))
83 include $(BUILD_SYSTEM)/install_jni_libs_internal.mk
84endif
85ifdef TARGET_2ND_ARCH
86 ifdef LOCAL_SOONG_JNI_LIBS_$(TARGET_2ND_ARCH)
87 my_2nd_arch_prefix := $(TARGET_2ND_ARCH_VAR_PREFIX)
88 LOCAL_JNI_SHARED_LIBRARIES := $(LOCAL_SOONG_JNI_LIBS_$(TARGET_2ND_ARCH))
89 include $(BUILD_SYSTEM)/install_jni_libs_internal.mk
90 endif
91endif
92LOCAL_SHARED_JNI_LIBRARIES :=
93my_embed_jni :=
94my_prebuilt_jni_libs :=
95my_2nd_arch_prefix :=
Colin Cross1fe104c2018-09-18 10:16:37 -070096
Colin Crossaec36402017-12-14 11:20:27 -080097PACKAGES := $(PACKAGES) $(LOCAL_MODULE)
98ifdef LOCAL_CERTIFICATE
Colin Cross4e34ce02017-12-15 13:20:27 -080099 PACKAGES.$(LOCAL_MODULE).CERTIFICATE := $(LOCAL_CERTIFICATE)
100 PACKAGES.$(LOCAL_MODULE).PRIVATE_KEY := $(patsubst %.x509.pem,%.pk8,$(LOCAL_CERTIFICATE))
Colin Crossaec36402017-12-14 11:20:27 -0800101endif
102
Jason Monk87eb7912018-08-10 13:28:00 -0400103PACKAGES.$(LOCAL_MODULE).OVERRIDES := $(strip $(LOCAL_OVERRIDES_PACKAGES))
104
Colin Cross0fb8c972018-10-29 23:16:42 -0700105ifdef LOCAL_SOONG_BUNDLE
106 ALL_MODULES.$(LOCAL_MODULE).BUNDLE := $(LOCAL_SOONG_BUNDLE)
107endif
108
Colin Crosse05e6df2017-11-15 21:35:27 -0800109ifndef LOCAL_IS_HOST_MODULE
110ifeq ($(LOCAL_SDK_VERSION),system_current)
111my_link_type := java:system
Colin Crosse05e6df2017-11-15 21:35:27 -0800112else ifneq ($(LOCAL_SDK_VERSION),)
113my_link_type := java:sdk
Colin Crosse05e6df2017-11-15 21:35:27 -0800114else
115my_link_type := java:platform
Colin Crosse05e6df2017-11-15 21:35:27 -0800116endif
Jiyong Park98a4f522018-03-08 15:16:12 +0900117# warn/allowed types are both empty because Soong modules can't depend on
118# make-defined modules.
119my_warn_types :=
120my_allowed_types :=
Colin Crosse05e6df2017-11-15 21:35:27 -0800121
122my_link_deps :=
123my_2nd_arch_prefix := $(LOCAL_2ND_ARCH_VAR_PREFIX)
124my_common := COMMON
125include $(BUILD_SYSTEM)/link_type.mk
126endif # !LOCAL_IS_HOST_MODULE
127
Colin Cross8c5ef242017-11-30 20:11:22 -0800128ifdef LOCAL_SOONG_RRO_DIRS
129 $(call append_enforce_rro_sources, \
130 $(my_register_name), \
131 false, \
132 $(LOCAL_FULL_MANIFEST_FILE), \
133 $(LOCAL_EXPORT_PACKAGE_RESOURCES), \
134 $(LOCAL_SOONG_RRO_DIRS))
135endif
Colin Cross7a504332018-08-16 22:55:43 -0700136
137SOONG_ALREADY_CONV := $(SOONG_ALREADY_CONV) $(LOCAL_MODULE)