| Ian Rogers | afd9acc | 2014-06-17 08:21:54 -0700 | [diff] [blame] | 1 | # | 
 | 2 | # Copyright (C) 2011 The Android Open Source Project | 
 | 3 | # | 
 | 4 | # Licensed under the Apache License, Version 2.0 (the "License"); | 
 | 5 | # you may not use this file except in compliance with the License. | 
 | 6 | # You may obtain a copy of the License at | 
 | 7 | # | 
 | 8 | #      http://www.apache.org/licenses/LICENSE-2.0 | 
 | 9 | # | 
 | 10 | # Unless required by applicable law or agreed to in writing, software | 
 | 11 | # distributed under the License is distributed on an "AS IS" BASIS, | 
 | 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | 
 | 13 | # See the License for the specific language governing permissions and | 
 | 14 | # limitations under the License. | 
 | 15 | # | 
 | 16 |  | 
| Igor Murashkin | 3774335 | 2014-11-13 14:38:00 -0800 | [diff] [blame] | 17 | ifndef ART_ANDROID_COMMON_PATH_MK | 
 | 18 | ART_ANDROID_COMMON_PATH_MK := true | 
| Ian Rogers | afd9acc | 2014-06-17 08:21:54 -0700 | [diff] [blame] | 19 |  | 
 | 20 | include art/build/Android.common.mk | 
| Colin Cross | 3196360 | 2016-08-30 16:18:42 -0700 | [diff] [blame] | 21 | include art/build/Android.common_build.mk | 
| Ian Rogers | afd9acc | 2014-06-17 08:21:54 -0700 | [diff] [blame] | 22 |  | 
 | 23 | # Directory used for dalvik-cache on device. | 
 | 24 | ART_TARGET_DALVIK_CACHE_DIR := /data/dalvik-cache | 
 | 25 |  | 
 | 26 | # Directory used for gtests on device. | 
| Andreas Gampe | 1fe5e5c | 2014-07-11 21:14:35 -0700 | [diff] [blame] | 27 | # $(TARGET_OUT_DATA_NATIVE_TESTS) will evaluate to the nativetest directory in the target part on | 
 | 28 | # the host, so we can strip everything but the directory to find out whether it is "nativetest" or | 
 | 29 | # "nativetest64." | 
 | 30 | ART_TARGET_NATIVETEST_DIR := /data/$(notdir $(TARGET_OUT_DATA_NATIVE_TESTS))/art | 
 | 31 |  | 
| Ian Rogers | afd9acc | 2014-06-17 08:21:54 -0700 | [diff] [blame] | 32 | ART_TARGET_NATIVETEST_OUT := $(TARGET_OUT_DATA_NATIVE_TESTS)/art | 
 | 33 |  | 
 | 34 | # Directory used for oat tests on device. | 
 | 35 | ART_TARGET_TEST_DIR := /data/art-test | 
 | 36 | ART_TARGET_TEST_OUT := $(TARGET_OUT_DATA)/art-test | 
 | 37 |  | 
| Vladimir Marko | 0ace563 | 2018-12-14 11:11:47 +0000 | [diff] [blame] | 38 | # Modules to compile for core.art. | 
| Victor Chang | d20e51d | 2020-05-05 16:01:19 +0100 | [diff] [blame] | 39 | CORE_IMG_JARS := core-oj core-libart okhttp bouncycastle apache-xml | 
| Vladimir Marko | 0ace563 | 2018-12-14 11:11:47 +0000 | [diff] [blame] | 40 | HOST_CORE_IMG_JARS   := $(addsuffix -hostdex,$(CORE_IMG_JARS)) | 
| Nicolas Geoffray | 31e0dc2 | 2020-03-20 15:48:09 +0000 | [diff] [blame] | 41 | TARGET_CORE_IMG_JARS := $(CORE_IMG_JARS) | 
| Vladimir Marko | 0ace563 | 2018-12-14 11:11:47 +0000 | [diff] [blame] | 42 | HOST_CORE_IMG_DEX_LOCATIONS   := $(foreach jar,$(HOST_CORE_IMG_JARS),  $(HOST_OUT_JAVA_LIBRARIES)/$(jar).jar) | 
 | 43 | ifeq ($(ART_TEST_ANDROID_ROOT),) | 
| Nicolas Geoffray | a144c27 | 2019-02-20 12:03:53 +0000 | [diff] [blame] | 44 | TARGET_CORE_IMG_DEX_LOCATIONS := $(foreach jar,$(TARGET_CORE_IMG_JARS),/$(ART_DEXPREOPT_BOOT_JAR_DIR)/$(jar).jar) | 
| Vladimir Marko | 0ace563 | 2018-12-14 11:11:47 +0000 | [diff] [blame] | 45 | else | 
 | 46 | TARGET_CORE_IMG_DEX_LOCATIONS := $(foreach jar,$(TARGET_CORE_IMG_JARS),$(ART_TEST_ANDROID_ROOT)/$(jar).jar) | 
 | 47 | endif | 
 | 48 | HOST_CORE_IMG_DEX_FILES   := $(foreach jar,$(HOST_CORE_IMG_JARS),  $(call intermediates-dir-for,JAVA_LIBRARIES,$(jar),t,COMMON)/javalib.jar) | 
| Nicolas Geoffray | 31e0dc2 | 2020-03-20 15:48:09 +0000 | [diff] [blame] | 49 | TARGET_CORE_IMG_DEX_FILES := $(foreach jar,$(TARGET_CORE_IMG_JARS),$(call intermediates-dir-for,JAVA_LIBRARIES,$(jar).com.android.art.testing, ,COMMON)/javalib.jar) | 
| Vladimir Marko | 0ace563 | 2018-12-14 11:11:47 +0000 | [diff] [blame] | 50 |  | 
| David Srbecky | 0c0f302 | 2020-02-13 15:53:01 +0000 | [diff] [blame] | 51 | # Also copy the jar files next to host boot.art image. | 
 | 52 | HOST_BOOT_IMAGE_JARS := $(foreach jar,$(CORE_IMG_JARS),$(HOST_OUT)/apex/com.android.art/javalib/$(jar).jar) | 
 | 53 | $(HOST_BOOT_IMAGE_JARS): $(HOST_OUT)/apex/com.android.art/javalib/%.jar : $(HOST_OUT_JAVA_LIBRARIES)/%-hostdex.jar | 
 | 54 | 	$(copy-file-to-target) | 
 | 55 | HOST_BOOT_IMAGE_JARS += $(HOST_OUT)/apex/com.android.conscrypt/javalib/conscrypt.jar | 
 | 56 | $(HOST_OUT)/apex/com.android.conscrypt/javalib/conscrypt.jar : $(HOST_OUT_JAVA_LIBRARIES)/conscrypt-hostdex.jar | 
 | 57 | 	$(copy-file-to-target) | 
| Victor Chang | d20e51d | 2020-05-05 16:01:19 +0100 | [diff] [blame] | 58 | HOST_BOOT_IMAGE_JARS += $(HOST_OUT)/apex/com.android.i18n/javalib/core-icu4j.jar | 
 | 59 | $(HOST_OUT)/apex/com.android.i18n/javalib/core-icu4j.jar : $(HOST_OUT_JAVA_LIBRARIES)/core-icu4j-hostdex.jar | 
 | 60 | 	$(copy-file-to-target) | 
| David Srbecky | 0c0f302 | 2020-02-13 15:53:01 +0000 | [diff] [blame] | 61 |  | 
| David Srbecky | 42df1c7 | 2020-04-07 15:53:47 +0100 | [diff] [blame] | 62 | HOST_CORE_IMG_OUTS += $(HOST_BOOT_IMAGE_JARS) $(HOST_BOOT_IMAGE) $(2ND_HOST_BOOT_IMAGE) | 
 | 63 |  | 
| Victor Chang | d20e51d | 2020-05-05 16:01:19 +0100 | [diff] [blame] | 64 | HOST_TEST_CORE_JARS   := $(addsuffix -hostdex,$(CORE_IMG_JARS) core-icu4j conscrypt) | 
| Vladimir Marko | 7a85e70 | 2018-12-03 18:47:23 +0000 | [diff] [blame] | 65 | ART_HOST_DEX_DEPENDENCIES := $(foreach jar,$(HOST_TEST_CORE_JARS),$(HOST_OUT_JAVA_LIBRARIES)/$(jar).jar) | 
| Victor Chang | d20e51d | 2020-05-05 16:01:19 +0100 | [diff] [blame] | 66 | ART_TARGET_DEX_DEPENDENCIES := com.android.art.testing com.android.conscrypt com.android.i18n | 
| Richard Uhler | c5a0004 | 2016-07-01 13:10:56 -0700 | [diff] [blame] | 67 |  | 
| Victor Chang | d20e51d | 2020-05-05 16:01:19 +0100 | [diff] [blame] | 68 | ART_CORE_SHARED_LIBRARIES := libjavacore libopenjdk libopenjdkjvm libopenjdkjvmti | 
| Alex Light | 7b497ee | 2017-05-25 09:54:15 -0700 | [diff] [blame] | 69 | ART_CORE_SHARED_DEBUG_LIBRARIES := libopenjdkd libopenjdkjvmd libopenjdkjvmtid | 
| Nicolas Geoffray | c69b3f8 | 2020-06-22 12:33:38 +0000 | [diff] [blame] | 70 | ART_HOST_CORE_SHARED_LIBRARIES := $(ART_CORE_SHARED_LIBRARIES) libicuuc-host libicui18n-host libicu_jni | 
| Victor Chang | d20e51d | 2020-05-05 16:01:19 +0100 | [diff] [blame] | 71 | ART_HOST_SHARED_LIBRARY_DEPENDENCIES := $(foreach lib,$(ART_HOST_CORE_SHARED_LIBRARIES), $(ART_HOST_OUT_SHARED_LIBRARIES)/$(lib)$(ART_HOST_SHLIB_EXTENSION)) | 
| Alex Light | 7b497ee | 2017-05-25 09:54:15 -0700 | [diff] [blame] | 72 | ART_HOST_SHARED_LIBRARY_DEBUG_DEPENDENCIES := $(foreach lib,$(ART_CORE_SHARED_DEBUG_LIBRARIES), $(ART_HOST_OUT_SHARED_LIBRARIES)/$(lib)$(ART_HOST_SHLIB_EXTENSION)) | 
| Richard Uhler | c5a0004 | 2016-07-01 13:10:56 -0700 | [diff] [blame] | 73 | ifdef HOST_2ND_ARCH | 
| Victor Chang | d20e51d | 2020-05-05 16:01:19 +0100 | [diff] [blame] | 74 | ART_HOST_SHARED_LIBRARY_DEPENDENCIES += $(foreach lib,$(ART_HOST_CORE_SHARED_LIBRARIES), $(2ND_HOST_OUT_SHARED_LIBRARIES)/$(lib).so) | 
| Alex Light | 7b497ee | 2017-05-25 09:54:15 -0700 | [diff] [blame] | 75 | ART_HOST_SHARED_LIBRARY_DEBUG_DEPENDENCIES += $(foreach lib,$(ART_CORE_SHARED_DEBUG_LIBRARIES), $(2ND_HOST_OUT_SHARED_LIBRARIES)/$(lib).so) | 
| Richard Uhler | c5a0004 | 2016-07-01 13:10:56 -0700 | [diff] [blame] | 76 | endif | 
 | 77 |  | 
| Jiyong Park | 066dd902 | 2019-12-19 02:11:59 +0000 | [diff] [blame] | 78 | # Both the primary and the secondary arches of the libs are built by depending | 
 | 79 | # on the module name. | 
 | 80 | ART_DEBUG_TARGET_SHARED_LIBRARY_DEPENDENCIES := $(foreach lib,$(ART_CORE_SHARED_LIBRARIES), $(lib).com.android.art.debug) | 
| Alex Light | 7b497ee | 2017-05-25 09:54:15 -0700 | [diff] [blame] | 81 | ART_TARGET_SHARED_LIBRARY_DEBUG_DEPENDENCIES := $(foreach lib,$(ART_CORE_SHARED_DEBUG_LIBRARIES), $(TARGET_OUT_SHARED_LIBRARIES)/$(lib).so) | 
| Richard Uhler | c5a0004 | 2016-07-01 13:10:56 -0700 | [diff] [blame] | 82 | ifdef TARGET_2ND_ARCH | 
| Alex Light | 7b497ee | 2017-05-25 09:54:15 -0700 | [diff] [blame] | 83 | ART_TARGET_SHARED_LIBRARY_DEBUG_DEPENDENCIES += $(foreach lib,$(ART_CORE_SHARED_DEBUG_LIBRARIES), $(2ND_TARGET_OUT_SHARED_LIBRARIES)/$(lib).so) | 
| Richard Uhler | c5a0004 | 2016-07-01 13:10:56 -0700 | [diff] [blame] | 84 | endif | 
 | 85 |  | 
| Colin Cross | 02a7335 | 2016-09-13 16:47:02 -0700 | [diff] [blame] | 86 | ART_CORE_DEBUGGABLE_EXECUTABLES := \ | 
| Colin Cross | 3196360 | 2016-08-30 16:18:42 -0700 | [diff] [blame] | 87 |     dex2oat \ | 
| Calin Juravle | 36eb313 | 2017-01-13 16:32:38 -0800 | [diff] [blame] | 88 |     dexoptanalyzer \ | 
| Colin Cross | 3196360 | 2016-08-30 16:18:42 -0700 | [diff] [blame] | 89 |     imgdiag \ | 
 | 90 |     oatdump \ | 
| Colin Cross | 3196360 | 2016-08-30 16:18:42 -0700 | [diff] [blame] | 91 |     profman \ | 
 | 92 |  | 
| Colin Cross | 02a7335 | 2016-09-13 16:47:02 -0700 | [diff] [blame] | 93 | ART_CORE_EXECUTABLES := \ | 
 | 94 |     dalvikvm \ | 
 | 95 |     dexlist \ | 
 | 96 |  | 
| Colin Cross | 3196360 | 2016-08-30 16:18:42 -0700 | [diff] [blame] | 97 | # Depend on the -target or -host phony targets generated by the build system | 
 | 98 | # for each module | 
| Colin Cross | 02a7335 | 2016-09-13 16:47:02 -0700 | [diff] [blame] | 99 | ART_TARGET_EXECUTABLES := | 
| Colin Cross | 3196360 | 2016-08-30 16:18:42 -0700 | [diff] [blame] | 100 | ifneq ($(ART_BUILD_TARGET_NDEBUG),false) | 
| Colin Cross | 02a7335 | 2016-09-13 16:47:02 -0700 | [diff] [blame] | 101 | ART_TARGET_EXECUTABLES += $(foreach name,$(ART_CORE_EXECUTABLES) $(ART_CORE_DEBUGGABLE_EXECUTABLES),$(name)-target) | 
| Colin Cross | 3196360 | 2016-08-30 16:18:42 -0700 | [diff] [blame] | 102 | endif | 
 | 103 | ifneq ($(ART_BUILD_TARGET_DEBUG),false) | 
| Colin Cross | 02a7335 | 2016-09-13 16:47:02 -0700 | [diff] [blame] | 104 | ART_TARGET_EXECUTABLES += $(foreach name,$(ART_CORE_DEBUGGABLE_EXECUTABLES),$(name)d-target) | 
| Colin Cross | 3196360 | 2016-08-30 16:18:42 -0700 | [diff] [blame] | 105 | endif | 
 | 106 |  | 
| Colin Cross | 02a7335 | 2016-09-13 16:47:02 -0700 | [diff] [blame] | 107 | ART_HOST_EXECUTABLES := | 
| Colin Cross | 3196360 | 2016-08-30 16:18:42 -0700 | [diff] [blame] | 108 | ifneq ($(ART_BUILD_HOST_NDEBUG),false) | 
| Colin Cross | 02a7335 | 2016-09-13 16:47:02 -0700 | [diff] [blame] | 109 | ART_HOST_EXECUTABLES += $(foreach name,$(ART_CORE_EXECUTABLES) $(ART_CORE_DEBUGGABLE_EXECUTABLES),$(name)-host) | 
| Colin Cross | 3196360 | 2016-08-30 16:18:42 -0700 | [diff] [blame] | 110 | endif | 
 | 111 | ifneq ($(ART_BUILD_HOST_DEBUG),false) | 
| Colin Cross | 02a7335 | 2016-09-13 16:47:02 -0700 | [diff] [blame] | 112 | ART_HOST_EXECUTABLES += $(foreach name,$(ART_CORE_DEBUGGABLE_EXECUTABLES),$(name)d-host) | 
| Colin Cross | 3196360 | 2016-08-30 16:18:42 -0700 | [diff] [blame] | 113 | endif | 
 | 114 |  | 
| Martin Stjernholm | 84e5bb9 | 2019-09-05 19:56:46 +0100 | [diff] [blame] | 115 | # Release ART APEX, included by default in "user" builds. | 
 | 116 | RELEASE_ART_APEX := com.android.art.release | 
 | 117 | # Debug ART APEX, included by default in "userdebug" and "eng" | 
| Roland Levillain | 8d5a215 | 2019-07-02 19:40:28 +0100 | [diff] [blame] | 118 | # builds and used in ART device benchmarking. | 
| Martin Stjernholm | 84e5bb9 | 2019-09-05 19:56:46 +0100 | [diff] [blame] | 119 | DEBUG_ART_APEX := com.android.art.debug | 
 | 120 | # Testing ART APEX, used in ART device testing. | 
 | 121 | TESTING_ART_APEX := com.android.art.testing | 
| Roland Levillain | f0b1de8 | 2019-07-02 19:25:58 +0100 | [diff] [blame] | 122 |  | 
| Martin Stjernholm | 4bb9f67 | 2020-05-19 01:33:47 +0100 | [diff] [blame] | 123 | # Runtime (Bionic) APEX | 
 | 124 | RUNTIME_APEX := com.android.runtime | 
| Orion Hodson | c4d13ae | 2020-01-07 12:46:25 +0000 | [diff] [blame] | 125 | # Conscrypt APEX | 
 | 126 | CONSCRYPT_APEX := com.android.conscrypt | 
| Victor Chang | d20e51d | 2020-05-05 16:01:19 +0100 | [diff] [blame] | 127 | # i18n APEX | 
 | 128 | I18N_APEX := com.android.i18n | 
| Orion Hodson | c4d13ae | 2020-01-07 12:46:25 +0000 | [diff] [blame] | 129 |  | 
| Igor Murashkin | 3774335 | 2014-11-13 14:38:00 -0800 | [diff] [blame] | 130 | endif # ART_ANDROID_COMMON_PATH_MK |