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 17 ifndef ART_ANDROID_COMMON_PATH_MK 18 ART_ANDROID_COMMON_PATH_MK := true 19 20 include art/build/Android.common.mk 21 22 # Directory used for dalvik-cache on device. 23 ART_TARGET_DALVIK_CACHE_DIR := /data/dalvik-cache 24 25 # Directory used for gtests on device. 26 # $(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." 29 ART_TARGET_NATIVETEST_DIR := /data/$(notdir $(TARGET_OUT_DATA_NATIVE_TESTS))/art 30 31 ART_TARGET_NATIVETEST_OUT := $(TARGET_OUT_DATA_NATIVE_TESTS)/art 32 33 # Directory used for oat tests on device. 34 ART_TARGET_TEST_DIR := /data/art-test 35 ART_TARGET_TEST_OUT := $(TARGET_OUT_DATA)/art-test 36 37 # Directory used for temporary test files on the host. 38 ifneq ($(TMPDIR),) 39 ART_HOST_TEST_DIR := $(TMPDIR)/test-art-$(shell echo $$PPID) 40 else 41 ART_HOST_TEST_DIR := /tmp/test-art-$(shell echo $$PPID) 42 endif 43 44 # core.oat location on the device. 45 TARGET_CORE_OAT := $(ART_TARGET_TEST_DIR)/$(DEX2OAT_TARGET_ARCH)/core.oat 46 ifdef TARGET_2ND_ARCH 47 2ND_TARGET_CORE_OAT := $(ART_TARGET_TEST_DIR)/$($(TARGET_2ND_ARCH_VAR_PREFIX)DEX2OAT_TARGET_ARCH)/core.oat 48 endif 49 50 CORE_OAT_SUFFIX := .oat 51 52 # core.oat locations under the out directory. 53 HOST_CORE_OAT_OUT_BASE := $(HOST_OUT_JAVA_LIBRARIES)/$(ART_HOST_ARCH)/core 54 ifneq ($(HOST_PREFER_32_BIT),true) 55 2ND_HOST_CORE_OAT_OUT_BASE := $(HOST_OUT_JAVA_LIBRARIES)/$(2ND_ART_HOST_ARCH)/core 56 endif 57 HOST_CORE_OAT_OUTS := 58 TARGET_CORE_OAT_OUT_BASE := $(ART_TARGET_TEST_OUT)/$(DEX2OAT_TARGET_ARCH)/core 59 ifdef TARGET_2ND_ARCH 60 2ND_TARGET_CORE_OAT_OUT_BASE := $(ART_TARGET_TEST_OUT)/$($(TARGET_2ND_ARCH_VAR_PREFIX)DEX2OAT_TARGET_ARCH)/core 61 endif 62 TARGET_CORE_OAT_OUTS := 63 64 CORE_IMG_SUFFIX := .art 65 66 # core.art locations under the out directory. 67 HOST_CORE_IMG_OUT_BASE := $(HOST_OUT_JAVA_LIBRARIES)/$(ART_HOST_ARCH)/core 68 ifneq ($(HOST_PREFER_32_BIT),true) 69 2ND_HOST_CORE_IMG_OUT_BASE := $(HOST_OUT_JAVA_LIBRARIES)/$(2ND_ART_HOST_ARCH)/core 70 endif 71 HOST_CORE_IMG_OUTS := 72 TARGET_CORE_IMG_OUT_BASE := $(ART_TARGET_TEST_OUT)/$(DEX2OAT_TARGET_ARCH)/core 73 ifdef TARGET_2ND_ARCH 74 2ND_TARGET_CORE_IMG_OUT_BASE := $(ART_TARGET_TEST_OUT)/$($(TARGET_2ND_ARCH_VAR_PREFIX)DEX2OAT_TARGET_ARCH)/core 75 endif 76 TARGET_CORE_IMG_OUTS := 77 78 # Oat location of core.art. 79 HOST_CORE_IMG_LOCATION := $(HOST_OUT_JAVA_LIBRARIES)/core.art 80 TARGET_CORE_IMG_LOCATION := $(ART_TARGET_TEST_OUT)/core.art 81 82 # Jar files for core.art. 83 TARGET_CORE_JARS := core-oj core-libart conscrypt okhttp bouncycastle apache-xml 84 HOST_CORE_JARS := $(addsuffix -hostdex,$(TARGET_CORE_JARS)) 85 86 HOST_CORE_DEX_LOCATIONS := $(foreach jar,$(HOST_CORE_JARS), $(HOST_OUT_JAVA_LIBRARIES)/$(jar).jar) 87 ifeq ($(ART_TEST_ANDROID_ROOT),) 88 TARGET_CORE_DEX_LOCATIONS := $(foreach jar,$(TARGET_CORE_JARS),/$(DEXPREOPT_BOOT_JAR_DIR)/$(jar).jar) 89 else 90 TARGET_CORE_DEX_LOCATIONS := $(foreach jar,$(TARGET_CORE_JARS),$(ART_TEST_ANDROID_ROOT)/framework/$(jar).jar) 91 endif 92 93 HOST_CORE_DEX_FILES := $(foreach jar,$(HOST_CORE_JARS), $(call intermediates-dir-for,JAVA_LIBRARIES,$(jar),t,COMMON)/javalib.jar) 94 TARGET_CORE_DEX_FILES := $(foreach jar,$(TARGET_CORE_JARS),$(call intermediates-dir-for,JAVA_LIBRARIES,$(jar), ,COMMON)/javalib.jar) 95 96 # Classpath for Jack compilation: we only need core-libart. 97 HOST_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 98 HOST_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) 99 TARGET_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 100 TARGET_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) 101 102 endif # ART_ANDROID_COMMON_PATH_MK 103