blob: 68916c0cda782d64b26bc68c889a8eb43b2bdf5b [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 Cross1fe104c2018-09-18 10:16:37 -070065ifdef LOCAL_DEX_PREOPT
66 $(built_odex): $(LOCAL_SOONG_DEX_JAR)
Colin Crosse05e6df2017-11-15 21:35:27 -080067 $(call dexpreopt-one-file,$<,$@)
Colin Cross1fe104c2018-09-18 10:16:37 -070068 $(eval $(call dexpreopt-copy-jar,$(LOCAL_PREBUILT_MODULE_FILE),$(LOCAL_BUILT_MODULE),$(LOCAL_DEX_PREOPT)))
69else
70 $(eval $(call copy-one-file,$(LOCAL_PREBUILT_MODULE_FILE),$(LOCAL_BUILT_MODULE)))
Colin Crosse05e6df2017-11-15 21:35:27 -080071endif
72
Colin Cross1fe104c2018-09-18 10:16:37 -070073
Colin Crossaec36402017-12-14 11:20:27 -080074PACKAGES := $(PACKAGES) $(LOCAL_MODULE)
75ifdef LOCAL_CERTIFICATE
Colin Cross4e34ce02017-12-15 13:20:27 -080076 PACKAGES.$(LOCAL_MODULE).CERTIFICATE := $(LOCAL_CERTIFICATE)
77 PACKAGES.$(LOCAL_MODULE).PRIVATE_KEY := $(patsubst %.x509.pem,%.pk8,$(LOCAL_CERTIFICATE))
Colin Crossaec36402017-12-14 11:20:27 -080078endif
79
Jason Monk87eb7912018-08-10 13:28:00 -040080PACKAGES.$(LOCAL_MODULE).OVERRIDES := $(strip $(LOCAL_OVERRIDES_PACKAGES))
81
Colin Crosse05e6df2017-11-15 21:35:27 -080082ifndef LOCAL_IS_HOST_MODULE
83ifeq ($(LOCAL_SDK_VERSION),system_current)
84my_link_type := java:system
Colin Crosse05e6df2017-11-15 21:35:27 -080085else ifneq ($(LOCAL_SDK_VERSION),)
86my_link_type := java:sdk
Colin Crosse05e6df2017-11-15 21:35:27 -080087else
88my_link_type := java:platform
Colin Crosse05e6df2017-11-15 21:35:27 -080089endif
Jiyong Park98a4f522018-03-08 15:16:12 +090090# warn/allowed types are both empty because Soong modules can't depend on
91# make-defined modules.
92my_warn_types :=
93my_allowed_types :=
Colin Crosse05e6df2017-11-15 21:35:27 -080094
95my_link_deps :=
96my_2nd_arch_prefix := $(LOCAL_2ND_ARCH_VAR_PREFIX)
97my_common := COMMON
98include $(BUILD_SYSTEM)/link_type.mk
99endif # !LOCAL_IS_HOST_MODULE
100
Colin Cross8c5ef242017-11-30 20:11:22 -0800101ifdef LOCAL_SOONG_RRO_DIRS
102 $(call append_enforce_rro_sources, \
103 $(my_register_name), \
104 false, \
105 $(LOCAL_FULL_MANIFEST_FILE), \
106 $(LOCAL_EXPORT_PACKAGE_RESOURCES), \
107 $(LOCAL_SOONG_RRO_DIRS))
108endif
Colin Cross7a504332018-08-16 22:55:43 -0700109
110SOONG_ALREADY_CONV := $(SOONG_ALREADY_CONV) $(LOCAL_MODULE)