blob: 86bb475f33a0559fa10a5979b1e4441f1f9afc40 [file] [log] [blame]
Ian Rogersafd9acc2014-06-17 08:21:54 -07001#
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 Murashkin37743352014-11-13 14:38:00 -080017ifndef ART_ANDROID_COMMON_PATH_MK
18ART_ANDROID_COMMON_PATH_MK := true
Ian Rogersafd9acc2014-06-17 08:21:54 -070019
20include art/build/Android.common.mk
21
22# Directory used for dalvik-cache on device.
23ART_TARGET_DALVIK_CACHE_DIR := /data/dalvik-cache
24
25# Directory used for gtests on device.
Andreas Gampe1fe5e5c2014-07-11 21:14:35 -070026# $(TARGET_OUT_DATA_NATIVE_TESTS) will evaluate to the nativetest directory in the target part on
27# the host, so we can strip everything but the directory to find out whether it is "nativetest" or
28# "nativetest64."
29ART_TARGET_NATIVETEST_DIR := /data/$(notdir $(TARGET_OUT_DATA_NATIVE_TESTS))/art
30
Ian Rogersafd9acc2014-06-17 08:21:54 -070031ART_TARGET_NATIVETEST_OUT := $(TARGET_OUT_DATA_NATIVE_TESTS)/art
32
33# Directory used for oat tests on device.
34ART_TARGET_TEST_DIR := /data/art-test
35ART_TARGET_TEST_OUT := $(TARGET_OUT_DATA)/art-test
36
37# Directory used for temporary test files on the host.
Ian Rogers6a6d3c22014-07-23 08:03:36 -070038ifneq ($(TMPDIR),)
39ART_HOST_TEST_DIR := $(TMPDIR)/test-art-$(shell echo $$PPID)
40else
Andreas Gampe34a8a0f2016-07-20 21:09:29 -070041ART_HOST_TEST_DIR := /tmp/$(USER)/test-art-$(shell echo $$PPID)
Ian Rogers6a6d3c22014-07-23 08:03:36 -070042endif
Ian Rogersafd9acc2014-06-17 08:21:54 -070043
Brian Carlstromab00b7a2015-06-19 22:05:35 -070044# core.oat location on the device.
Ian Rogersafd9acc2014-06-17 08:21:54 -070045TARGET_CORE_OAT := $(ART_TARGET_TEST_DIR)/$(DEX2OAT_TARGET_ARCH)/core.oat
46ifdef TARGET_2ND_ARCH
472ND_TARGET_CORE_OAT := $(ART_TARGET_TEST_DIR)/$($(TARGET_2ND_ARCH_VAR_PREFIX)DEX2OAT_TARGET_ARCH)/core.oat
48endif
49
Andreas Gampe63fc30e2014-10-24 21:58:16 -070050CORE_OAT_SUFFIX := .oat
51
Brian Carlstromab00b7a2015-06-19 22:05:35 -070052# core.oat locations under the out directory.
Andreas Gampe63fc30e2014-10-24 21:58:16 -070053HOST_CORE_OAT_OUT_BASE := $(HOST_OUT_JAVA_LIBRARIES)/$(ART_HOST_ARCH)/core
Ian Rogersafd9acc2014-06-17 08:21:54 -070054ifneq ($(HOST_PREFER_32_BIT),true)
Andreas Gampe63fc30e2014-10-24 21:58:16 -0700552ND_HOST_CORE_OAT_OUT_BASE := $(HOST_OUT_JAVA_LIBRARIES)/$(2ND_ART_HOST_ARCH)/core
Ian Rogersafd9acc2014-06-17 08:21:54 -070056endif
Andreas Gampe63fc30e2014-10-24 21:58:16 -070057HOST_CORE_OAT_OUTS :=
58TARGET_CORE_OAT_OUT_BASE := $(ART_TARGET_TEST_OUT)/$(DEX2OAT_TARGET_ARCH)/core
Ian Rogersafd9acc2014-06-17 08:21:54 -070059ifdef TARGET_2ND_ARCH
Andreas Gampe63fc30e2014-10-24 21:58:16 -0700602ND_TARGET_CORE_OAT_OUT_BASE := $(ART_TARGET_TEST_OUT)/$($(TARGET_2ND_ARCH_VAR_PREFIX)DEX2OAT_TARGET_ARCH)/core
Ian Rogersafd9acc2014-06-17 08:21:54 -070061endif
Andreas Gampe63fc30e2014-10-24 21:58:16 -070062TARGET_CORE_OAT_OUTS :=
63
64CORE_IMG_SUFFIX := .art
Ian Rogersafd9acc2014-06-17 08:21:54 -070065
Brian Carlstromab00b7a2015-06-19 22:05:35 -070066# core.art locations under the out directory.
Andreas Gampe63fc30e2014-10-24 21:58:16 -070067HOST_CORE_IMG_OUT_BASE := $(HOST_OUT_JAVA_LIBRARIES)/$(ART_HOST_ARCH)/core
Ian Rogersafd9acc2014-06-17 08:21:54 -070068ifneq ($(HOST_PREFER_32_BIT),true)
Andreas Gampe63fc30e2014-10-24 21:58:16 -0700692ND_HOST_CORE_IMG_OUT_BASE := $(HOST_OUT_JAVA_LIBRARIES)/$(2ND_ART_HOST_ARCH)/core
Ian Rogersafd9acc2014-06-17 08:21:54 -070070endif
Andreas Gampe63fc30e2014-10-24 21:58:16 -070071HOST_CORE_IMG_OUTS :=
72TARGET_CORE_IMG_OUT_BASE := $(ART_TARGET_TEST_OUT)/$(DEX2OAT_TARGET_ARCH)/core
Ian Rogersafd9acc2014-06-17 08:21:54 -070073ifdef TARGET_2ND_ARCH
Andreas Gampe63fc30e2014-10-24 21:58:16 -0700742ND_TARGET_CORE_IMG_OUT_BASE := $(ART_TARGET_TEST_OUT)/$($(TARGET_2ND_ARCH_VAR_PREFIX)DEX2OAT_TARGET_ARCH)/core
Ian Rogersafd9acc2014-06-17 08:21:54 -070075endif
Andreas Gampe63fc30e2014-10-24 21:58:16 -070076TARGET_CORE_IMG_OUTS :=
Ian Rogersafd9acc2014-06-17 08:21:54 -070077
78# Oat location of core.art.
79HOST_CORE_IMG_LOCATION := $(HOST_OUT_JAVA_LIBRARIES)/core.art
80TARGET_CORE_IMG_LOCATION := $(ART_TARGET_TEST_OUT)/core.art
81
82# Jar files for core.art.
Narayan Kamathcf662712016-01-05 14:33:58 +000083TARGET_CORE_JARS := core-oj core-libart conscrypt okhttp bouncycastle apache-xml
Ian Rogersafd9acc2014-06-17 08:21:54 -070084HOST_CORE_JARS := $(addsuffix -hostdex,$(TARGET_CORE_JARS))
85
86HOST_CORE_DEX_LOCATIONS := $(foreach jar,$(HOST_CORE_JARS), $(HOST_OUT_JAVA_LIBRARIES)/$(jar).jar)
Nicolas Geoffrayd8959612015-12-27 15:46:35 +000087ifeq ($(ART_TEST_ANDROID_ROOT),)
Ian Rogersafd9acc2014-06-17 08:21:54 -070088TARGET_CORE_DEX_LOCATIONS := $(foreach jar,$(TARGET_CORE_JARS),/$(DEXPREOPT_BOOT_JAR_DIR)/$(jar).jar)
Nicolas Geoffrayd8959612015-12-27 15:46:35 +000089else
90TARGET_CORE_DEX_LOCATIONS := $(foreach jar,$(TARGET_CORE_JARS),$(ART_TEST_ANDROID_ROOT)/framework/$(jar).jar)
91endif
Ian Rogersafd9acc2014-06-17 08:21:54 -070092
93HOST_CORE_DEX_FILES := $(foreach jar,$(HOST_CORE_JARS), $(call intermediates-dir-for,JAVA_LIBRARIES,$(jar),t,COMMON)/javalib.jar)
94TARGET_CORE_DEX_FILES := $(foreach jar,$(TARGET_CORE_JARS),$(call intermediates-dir-for,JAVA_LIBRARIES,$(jar), ,COMMON)/javalib.jar)
Sebastien Hertz19ac0272015-02-24 17:39:50 +010095
96# Classpath for Jack compilation: we only need core-libart.
Przemyslaw Szczepaniak121b25e2015-11-20 11:24:33 +000097HOST_JACK_CLASSPATH_DEPENDENCIES := $(call intermediates-dir-for,JAVA_LIBRARIES,core-oj-hostdex,t,COMMON)/classes.jack $(call intermediates-dir-for,JAVA_LIBRARIES,core-libart-hostdex,t,COMMON)/classes.jack
98HOST_JACK_CLASSPATH := $(abspath $(call intermediates-dir-for,JAVA_LIBRARIES,core-oj-hostdex,t,COMMON)/classes.jack):$(abspath $(call intermediates-dir-for,JAVA_LIBRARIES,core-libart-hostdex,t,COMMON)/classes.jack)
99TARGET_JACK_CLASSPATH_DEPENDENCIES := $(call intermediates-dir-for,JAVA_LIBRARIES,core-oj, ,COMMON)/classes.jack $(call intermediates-dir-for,JAVA_LIBRARIES,core-libart, ,COMMON)/classes.jack
100TARGET_JACK_CLASSPATH := $(abspath $(call intermediates-dir-for,JAVA_LIBRARIES,core-oj, ,COMMON)/classes.jack):$(abspath $(call intermediates-dir-for,JAVA_LIBRARIES,core-libart, ,COMMON)/classes.jack)
Sebastien Hertz2b763c32016-03-31 09:22:50 +0200101
Richard Uhlerc5a00042016-07-01 13:10:56 -0700102ART_HOST_DEX_DEPENDENCIES := $(foreach jar,$(HOST_CORE_JARS),$(HOST_OUT_JAVA_LIBRARIES)/$(jar).jar)
103ART_TARGET_DEX_DEPENDENCIES := $(foreach jar,$(TARGET_CORE_JARS),$(TARGET_OUT_JAVA_LIBRARIES)/$(jar).jar)
104
Alex Light49948e92016-08-11 15:35:28 -0700105ART_CORE_SHARED_LIBRARIES := libjavacore libopenjdk libopenjdkjvm libopenjdkjvmti
Richard Uhlerc5a00042016-07-01 13:10:56 -0700106ART_HOST_SHARED_LIBRARY_DEPENDENCIES := $(foreach lib,$(ART_CORE_SHARED_LIBRARIES), $(ART_HOST_OUT_SHARED_LIBRARIES)/$(lib)$(ART_HOST_SHLIB_EXTENSION))
107ifdef HOST_2ND_ARCH
108ART_HOST_SHARED_LIBRARY_DEPENDENCIES += $(foreach lib,$(ART_CORE_SHARED_LIBRARIES), $(2ND_HOST_OUT_SHARED_LIBRARIES)/$(lib).so)
109endif
110
111ART_TARGET_SHARED_LIBRARY_DEPENDENCIES := $(foreach lib,$(ART_CORE_SHARED_LIBRARIES), $(TARGET_OUT_SHARED_LIBRARIES)/$(lib).so)
112ifdef TARGET_2ND_ARCH
113ART_TARGET_SHARED_LIBRARY_DEPENDENCIES += $(foreach lib,$(ART_CORE_SHARED_LIBRARIES), $(2ND_TARGET_OUT_SHARED_LIBRARIES)/$(lib).so)
114endif
115
Igor Murashkin37743352014-11-13 14:38:00 -0800116endif # ART_ANDROID_COMMON_PATH_MK