blob: ae0d1968ca808d5a34702bc21a0e4ab9a2eaf931 [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 -080046$(eval $(call copy-one-file,$(LOCAL_PREBUILT_MODULE_FILE),$(LOCAL_BUILT_MODULE)))
47
48ifdef LOCAL_SOONG_RESOURCE_EXPORT_PACKAGE
49resource_export_package := $(intermediates.COMMON)/package-export.apk
50resource_export_stamp := $(intermediates.COMMON)/src/R.stamp
51
52$(resource_export_package): PRIVATE_STAMP := $(resource_export_stamp)
53$(resource_export_package): .KATI_IMPLICIT_OUTPUTS := $(resource_export_stamp)
54$(resource_export_package): $(LOCAL_SOONG_RESOURCE_EXPORT_PACKAGE)
55 @echo "Copy: $$@"
56 $(copy-file-to-target)
57 touch $(PRIVATE_STAMP)
Colin Cross78741382018-02-20 17:21:36 -080058$(call add-dependency,$(LOCAL_BUILT_MODULE),$(resource_export_package))
Colin Crosse05e6df2017-11-15 21:35:27 -080059
60endif # LOCAL_SOONG_RESOURCE_EXPORT_PACKAGE
61
62java-dex: $(LOCAL_SOONG_DEX_JAR)
63
64ifdef LOCAL_DEX_PREOPT
65# defines built_odex along with rule to install odex
66include $(BUILD_SYSTEM)/dex_preopt_odex_install.mk
67
68$(built_odex): $(LOCAL_SOONG_DEX_JAR)
69 $(call dexpreopt-one-file,$<,$@)
70endif
71
Colin Crossaec36402017-12-14 11:20:27 -080072PACKAGES := $(PACKAGES) $(LOCAL_MODULE)
73ifdef LOCAL_CERTIFICATE
Colin Cross4e34ce02017-12-15 13:20:27 -080074 PACKAGES.$(LOCAL_MODULE).CERTIFICATE := $(LOCAL_CERTIFICATE)
75 PACKAGES.$(LOCAL_MODULE).PRIVATE_KEY := $(patsubst %.x509.pem,%.pk8,$(LOCAL_CERTIFICATE))
Colin Crossaec36402017-12-14 11:20:27 -080076endif
77
Colin Crosse05e6df2017-11-15 21:35:27 -080078ifndef LOCAL_IS_HOST_MODULE
79ifeq ($(LOCAL_SDK_VERSION),system_current)
80my_link_type := java:system
Colin Crosse05e6df2017-11-15 21:35:27 -080081else ifneq ($(LOCAL_SDK_VERSION),)
82my_link_type := java:sdk
Colin Crosse05e6df2017-11-15 21:35:27 -080083else
84my_link_type := java:platform
Colin Crosse05e6df2017-11-15 21:35:27 -080085endif
Jiyong Park98a4f522018-03-08 15:16:12 +090086# warn/allowed types are both empty because Soong modules can't depend on
87# make-defined modules.
88my_warn_types :=
89my_allowed_types :=
Colin Crosse05e6df2017-11-15 21:35:27 -080090
91my_link_deps :=
92my_2nd_arch_prefix := $(LOCAL_2ND_ARCH_VAR_PREFIX)
93my_common := COMMON
94include $(BUILD_SYSTEM)/link_type.mk
95endif # !LOCAL_IS_HOST_MODULE
96
Colin Cross8c5ef242017-11-30 20:11:22 -080097ifdef LOCAL_SOONG_RRO_DIRS
98 $(call append_enforce_rro_sources, \
99 $(my_register_name), \
100 false, \
101 $(LOCAL_FULL_MANIFEST_FILE), \
102 $(LOCAL_EXPORT_PACKAGE_RESOURCES), \
103 $(LOCAL_SOONG_RRO_DIRS))
104endif