| Carl Shapiro | 7b21670 | 2011-06-17 15:09:26 -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 |  | 
|  | 17 | LOCAL_PATH := $(call my-dir) | 
| Carl Shapiro | 7b21670 | 2011-06-17 15:09:26 -0700 | [diff] [blame] | 18 |  | 
| Brian Carlstrom | 7940e44 | 2013-07-12 13:46:57 -0700 | [diff] [blame] | 19 | art_path := $(LOCAL_PATH) | 
| Brian Carlstrom | cdc8de4 | 2011-07-19 14:23:17 -0700 | [diff] [blame] | 20 |  | 
| Brian Carlstrom | b279337 | 2012-03-17 18:27:16 -0700 | [diff] [blame] | 21 | ######################################################################## | 
| Ian Rogers | afd9acc | 2014-06-17 08:21:54 -0700 | [diff] [blame] | 22 | # clean-oat rules | 
| Brian Carlstrom | 62e3ee3 | 2012-06-18 14:58:55 -0700 | [diff] [blame] | 23 | # | 
|  | 24 |  | 
| Ian Rogers | afd9acc | 2014-06-17 08:21:54 -0700 | [diff] [blame] | 25 | include $(art_path)/build/Android.common_path.mk | 
|  | 26 |  | 
| Ian Rogers | 8f0bbd2 | 2014-09-26 15:31:20 -0700 | [diff] [blame] | 27 | # Following the example of build's dont_bother for clean targets. | 
| Ian Rogers | b5594ba | 2014-09-26 15:55:25 -0700 | [diff] [blame] | 28 | art_dont_bother := false | 
| Ian Rogers | 8f0bbd2 | 2014-09-26 15:31:20 -0700 | [diff] [blame] | 29 | ifneq (,$(filter clean-oat%,$(MAKECMDGOALS))) | 
|  | 30 | art_dont_bother := true | 
| Brian Carlstrom | 62e3ee3 | 2012-06-18 14:58:55 -0700 | [diff] [blame] | 31 | endif | 
| Ian Rogers | 8f0bbd2 | 2014-09-26 15:31:20 -0700 | [diff] [blame] | 32 |  | 
| Brian Carlstrom | 46a6fc5 | 2014-10-09 10:17:07 -0700 | [diff] [blame] | 33 | # Don't bother with tests unless there is a test-art*, build-art*, or related target. | 
| Ian Rogers | 8f0bbd2 | 2014-09-26 15:31:20 -0700 | [diff] [blame] | 34 | art_test_bother := false | 
| Brian Carlstrom | 46a6fc5 | 2014-10-09 10:17:07 -0700 | [diff] [blame] | 35 | ifneq (,$(filter %tests test-art% valgrind-test-art% build-art%,$(MAKECMDGOALS))) | 
| Ian Rogers | 8f0bbd2 | 2014-09-26 15:31:20 -0700 | [diff] [blame] | 36 | art_test_bother := true | 
| Brian Carlstrom | 62e3ee3 | 2012-06-18 14:58:55 -0700 | [diff] [blame] | 37 | endif | 
|  | 38 |  | 
|  | 39 | .PHONY: clean-oat | 
|  | 40 | clean-oat: clean-oat-host clean-oat-target | 
|  | 41 |  | 
|  | 42 | .PHONY: clean-oat-host | 
|  | 43 | clean-oat-host: | 
| Brian Carlstrom | f662e06 | 2014-05-19 16:09:42 -0700 | [diff] [blame] | 44 | rm -f $(HOST_CORE_IMG_OUT) | 
|  | 45 | rm -f $(HOST_CORE_OAT_OUT) | 
|  | 46 | rm -f $(HOST_OUT_JAVA_LIBRARIES)/$(ART_HOST_ARCH)/*.odex | 
| Ian Rogers | afd9acc | 2014-06-17 08:21:54 -0700 | [diff] [blame] | 47 | ifneq ($(HOST_PREFER_32_BIT),true) | 
|  | 48 | rm -f $(2ND_HOST_CORE_IMG_OUT) | 
|  | 49 | rm -f $(2ND_HOST_CORE_OAT_OUT) | 
|  | 50 | rm -f $(HOST_OUT_JAVA_LIBRARIES)/$(2ND_ART_HOST_ARCH)/*.odex | 
|  | 51 | endif | 
| Brian Carlstrom | f662e06 | 2014-05-19 16:09:42 -0700 | [diff] [blame] | 52 | rm -f $(TARGET_CORE_IMG_OUT) | 
|  | 53 | rm -f $(TARGET_CORE_OAT_OUT) | 
|  | 54 | ifdef TARGET_2ND_ARCH | 
|  | 55 | rm -f $(2ND_TARGET_CORE_IMG_OUT) | 
|  | 56 | rm -f $(2ND_TARGET_CORE_OAT_OUT) | 
|  | 57 | endif | 
|  | 58 | rm -rf $(DEXPREOPT_PRODUCT_DIR_FULL_PATH) | 
| Brian Carlstrom | 999cd43 | 2013-06-22 23:08:53 -0700 | [diff] [blame] | 59 | rm -f $(TARGET_OUT_UNSTRIPPED)/system/framework/*.odex | 
| Andreas Gampe | de38833 | 2014-07-01 08:25:19 -0700 | [diff] [blame] | 60 | rm -f $(TARGET_OUT_UNSTRIPPED)/system/framework/*/*.oat | 
|  | 61 | rm -f $(TARGET_OUT_UNSTRIPPED)/system/framework/*/*.art | 
|  | 62 | rm -f $(TARGET_OUT)/framework/*/*.oat | 
|  | 63 | rm -f $(TARGET_OUT)/framework/*/*.art | 
| Brian Carlstrom | 999cd43 | 2013-06-22 23:08:53 -0700 | [diff] [blame] | 64 | rm -f $(TARGET_OUT_APPS)/*.odex | 
| Brian Carlstrom | 30e2ea4 | 2013-06-19 23:25:37 -0700 | [diff] [blame] | 65 | rm -f $(TARGET_OUT_INTERMEDIATES)/JAVA_LIBRARIES/*_intermediates/javalib.odex | 
|  | 66 | rm -f $(TARGET_OUT_INTERMEDIATES)/APPS/*_intermediates/*.odex | 
| Colin Cross | dc781a1 | 2014-02-04 16:22:03 -0800 | [diff] [blame] | 67 | ifdef TARGET_2ND_ARCH | 
|  | 68 | rm -f $(2ND_TARGET_OUT_INTERMEDIATES)/JAVA_LIBRARIES/*_intermediates/javalib.odex | 
|  | 69 | rm -f $(2ND_TARGET_OUT_INTERMEDIATES)/APPS/*_intermediates/*.odex | 
|  | 70 | endif | 
| Andreas Gampe | 5a79fde | 2014-08-06 13:12:26 -0700 | [diff] [blame] | 71 | ifneq ($(TMPDIR),) | 
|  | 72 | rm -rf $(TMPDIR)/$(USER)/test-*/dalvik-cache/* | 
|  | 73 | rm -rf $(TMPDIR)/android-data/dalvik-cache/* | 
|  | 74 | else | 
| Dmitry Petrochenko | 81c56e7 | 2014-03-05 15:05:46 +0700 | [diff] [blame] | 75 | rm -rf /tmp/$(USER)/test-*/dalvik-cache/* | 
| Brian Carlstrom | ae08961 | 2014-05-01 13:52:23 -0700 | [diff] [blame] | 76 | rm -rf /tmp/android-data/dalvik-cache/* | 
| Andreas Gampe | 5a79fde | 2014-08-06 13:12:26 -0700 | [diff] [blame] | 77 | endif | 
| Brian Carlstrom | 62e3ee3 | 2012-06-18 14:58:55 -0700 | [diff] [blame] | 78 |  | 
|  | 79 | .PHONY: clean-oat-target | 
|  | 80 | clean-oat-target: | 
| Nicolas Geoffray | 28a42c1 | 2014-09-15 09:46:08 +0100 | [diff] [blame] | 81 | adb root | 
|  | 82 | adb wait-for-device remount | 
| Ian Rogers | afd9acc | 2014-06-17 08:21:54 -0700 | [diff] [blame] | 83 | adb shell rm -rf $(ART_TARGET_NATIVETEST_DIR) | 
|  | 84 | adb shell rm -rf $(ART_TARGET_TEST_DIR) | 
|  | 85 | adb shell rm -rf $(ART_TARGET_DALVIK_CACHE_DIR)/*/* | 
| Brian Carlstrom | f662e06 | 2014-05-19 16:09:42 -0700 | [diff] [blame] | 86 | adb shell rm -rf $(DEXPREOPT_BOOT_JAR_DIR)/$(DEX2OAT_TARGET_ARCH) | 
|  | 87 | adb shell rm -rf system/app/$(DEX2OAT_TARGET_ARCH) | 
|  | 88 | ifdef TARGET_2ND_ARCH | 
|  | 89 | adb shell rm -rf $(DEXPREOPT_BOOT_JAR_DIR)/$($(TARGET_2ND_ARCH_VAR_PREFIX)DEX2OAT_TARGET_ARCH) | 
|  | 90 | adb shell rm -rf system/app/$($(TARGET_2ND_ARCH_VAR_PREFIX)DEX2OAT_TARGET_ARCH) | 
|  | 91 | endif | 
| Brian Carlstrom | ae08961 | 2014-05-01 13:52:23 -0700 | [diff] [blame] | 92 | adb shell rm -rf data/run-test/test-*/dalvik-cache/* | 
| Brian Carlstrom | 62e3ee3 | 2012-06-18 14:58:55 -0700 | [diff] [blame] | 93 |  | 
|  | 94 | ifneq ($(art_dont_bother),true) | 
|  | 95 |  | 
|  | 96 | ######################################################################## | 
| Ian Rogers | afd9acc | 2014-06-17 08:21:54 -0700 | [diff] [blame] | 97 | # cpplint rules to style check art source files | 
|  | 98 |  | 
|  | 99 | include $(art_path)/build/Android.cpplint.mk | 
|  | 100 |  | 
|  | 101 | ######################################################################## | 
|  | 102 | # product rules | 
|  | 103 |  | 
| Brian Carlstrom | 7940e44 | 2013-07-12 13:46:57 -0700 | [diff] [blame] | 104 | include $(art_path)/runtime/Android.mk | 
|  | 105 | include $(art_path)/compiler/Android.mk | 
|  | 106 | include $(art_path)/dex2oat/Android.mk | 
| Ian Rogers | 02ed4c0 | 2013-09-06 13:10:04 -0700 | [diff] [blame] | 107 | include $(art_path)/disassembler/Android.mk | 
| Brian Carlstrom | 7940e44 | 2013-07-12 13:46:57 -0700 | [diff] [blame] | 108 | include $(art_path)/oatdump/Android.mk | 
| Alex Light | 53cb16b | 2014-06-12 11:26:29 -0700 | [diff] [blame] | 109 | include $(art_path)/patchoat/Android.mk | 
| Brian Carlstrom | fa50baa | 2013-08-02 01:00:27 -0700 | [diff] [blame] | 110 | include $(art_path)/dalvikvm/Android.mk | 
| Nicolas Geoffray | 9583fbc | 2014-02-28 15:21:07 +0000 | [diff] [blame] | 111 | include $(art_path)/tools/Android.mk | 
| Ian Rogers | afd9acc | 2014-06-17 08:21:54 -0700 | [diff] [blame] | 112 | include $(art_path)/build/Android.oat.mk | 
| Dave Allison | f4b80bc | 2014-05-14 15:41:25 -0700 | [diff] [blame] | 113 | include $(art_path)/sigchainlib/Android.mk | 
|  | 114 |  | 
| Carl Shapiro | 7b21670 | 2011-06-17 15:09:26 -0700 | [diff] [blame] | 115 |  | 
| Brian Carlstrom | b279337 | 2012-03-17 18:27:16 -0700 | [diff] [blame] | 116 | # ART_HOST_DEPENDENCIES depends on Android.executable.mk above for ART_HOST_EXECUTABLES | 
| Brian Carlstrom | 532714a | 2014-06-25 02:15:31 -0700 | [diff] [blame] | 117 | ART_HOST_DEPENDENCIES := \ | 
|  | 118 | $(ART_HOST_EXECUTABLES) \ | 
|  | 119 | $(HOST_OUT_JAVA_LIBRARIES)/core-libart-hostdex.jar \ | 
| Nicolas Geoffray | 4d1231d | 2014-07-01 10:46:31 +0100 | [diff] [blame] | 120 | $(ART_HOST_OUT_SHARED_LIBRARIES)/libjavacore$(ART_HOST_SHLIB_EXTENSION) | 
| Brian Carlstrom | 532714a | 2014-06-25 02:15:31 -0700 | [diff] [blame] | 121 | ART_TARGET_DEPENDENCIES := \ | 
|  | 122 | $(ART_TARGET_EXECUTABLES) \ | 
|  | 123 | $(TARGET_OUT_JAVA_LIBRARIES)/core-libart.jar \ | 
| Ian Rogers | afd9acc | 2014-06-17 08:21:54 -0700 | [diff] [blame] | 124 | $(TARGET_OUT_SHARED_LIBRARIES)/libjavacore.so | 
| Andreas Gampe | fb040d0 | 2014-05-21 11:02:08 -0700 | [diff] [blame] | 125 | ifdef TARGET_2ND_ARCH | 
|  | 126 | ART_TARGET_DEPENDENCIES += $(2ND_TARGET_OUT_SHARED_LIBRARIES)/libjavacore.so | 
|  | 127 | endif | 
| Brian Carlstrom | 87bb26f | 2014-09-08 11:13:47 -0700 | [diff] [blame] | 128 | ifdef HOST_2ND_ARCH | 
|  | 129 | ART_HOST_DEPENDENCIES += $(2ND_HOST_OUT_SHARED_LIBRARIES)/libjavacore.so | 
|  | 130 | endif | 
| Brian Carlstrom | 1580379 | 2012-03-13 00:53:08 -0700 | [diff] [blame] | 131 |  | 
| Brian Carlstrom | b279337 | 2012-03-17 18:27:16 -0700 | [diff] [blame] | 132 | ######################################################################## | 
| Ian Rogers | afd9acc | 2014-06-17 08:21:54 -0700 | [diff] [blame] | 133 | # test rules | 
| Brian Carlstrom | 1580379 | 2012-03-13 00:53:08 -0700 | [diff] [blame] | 134 |  | 
| Ian Rogers | 8f0bbd2 | 2014-09-26 15:31:20 -0700 | [diff] [blame] | 135 | ifeq ($(art_test_bother),true) | 
|  | 136 |  | 
| Ian Rogers | afd9acc | 2014-06-17 08:21:54 -0700 | [diff] [blame] | 137 | # All the dependencies that must be built ahead of sync-ing them onto the target device. | 
|  | 138 | TEST_ART_TARGET_SYNC_DEPS := | 
| Brian Carlstrom | b279337 | 2012-03-17 18:27:16 -0700 | [diff] [blame] | 139 |  | 
| Ian Rogers | afd9acc | 2014-06-17 08:21:54 -0700 | [diff] [blame] | 140 | include $(art_path)/build/Android.common_test.mk | 
|  | 141 | include $(art_path)/build/Android.gtest.mk | 
| Ian Rogers | afd9acc | 2014-06-17 08:21:54 -0700 | [diff] [blame] | 142 | include $(art_path)/test/Android.run-test.mk | 
| Andreas Gampe | 2fe0792 | 2014-04-21 07:50:39 -0700 | [diff] [blame] | 143 |  | 
| Ian Rogers | afd9acc | 2014-06-17 08:21:54 -0700 | [diff] [blame] | 144 | # Sync test files to the target, depends upon all things that must be pushed to the target. | 
|  | 145 | .PHONY: test-art-target-sync | 
|  | 146 | test-art-target-sync: $(TEST_ART_TARGET_SYNC_DEPS) | 
| Nicolas Geoffray | 28a42c1 | 2014-09-15 09:46:08 +0100 | [diff] [blame] | 147 | adb root | 
|  | 148 | adb wait-for-device remount | 
| Ian Rogers | afd9acc | 2014-06-17 08:21:54 -0700 | [diff] [blame] | 149 | adb sync | 
| Andreas Gampe | 2fe0792 | 2014-04-21 07:50:39 -0700 | [diff] [blame] | 150 |  | 
| Ian Rogers | afd9acc | 2014-06-17 08:21:54 -0700 | [diff] [blame] | 151 | # Undefine variable now its served its purpose. | 
|  | 152 | TEST_ART_TARGET_SYNC_DEPS := | 
| Brian Carlstrom | 934486c | 2011-07-12 23:42:50 -0700 | [diff] [blame] | 153 |  | 
| Brian Carlstrom | 4a96b60 | 2011-07-26 16:40:23 -0700 | [diff] [blame] | 154 | # "mm test-art" to build and run all tests on host and device | 
|  | 155 | .PHONY: test-art | 
|  | 156 | test-art: test-art-host test-art-target | 
| Ian Rogers | afd9acc | 2014-06-17 08:21:54 -0700 | [diff] [blame] | 157 | $(hide) $(call ART_TEST_PREREQ_FINISHED,$@) | 
| Brian Carlstrom | 4a96b60 | 2011-07-26 16:40:23 -0700 | [diff] [blame] | 158 |  | 
| Brian Carlstrom | 47a0d5a | 2011-10-12 21:20:05 -0700 | [diff] [blame] | 159 | .PHONY: test-art-gtest | 
| Brian Carlstrom | b279337 | 2012-03-17 18:27:16 -0700 | [diff] [blame] | 160 | test-art-gtest: test-art-host-gtest test-art-target-gtest | 
| Ian Rogers | afd9acc | 2014-06-17 08:21:54 -0700 | [diff] [blame] | 161 | $(hide) $(call ART_TEST_PREREQ_FINISHED,$@) | 
| Elliott Hughes | 2cae5a2 | 2011-08-14 14:27:25 -0700 | [diff] [blame] | 162 |  | 
| Brian Carlstrom | 08981ab | 2012-05-25 18:40:15 -0700 | [diff] [blame] | 163 | .PHONY: test-art-run-test | 
| Brian Carlstrom | dbaa93a | 2013-07-31 15:13:10 -0700 | [diff] [blame] | 164 | test-art-run-test: test-art-host-run-test test-art-target-run-test | 
| Ian Rogers | afd9acc | 2014-06-17 08:21:54 -0700 | [diff] [blame] | 165 | $(hide) $(call ART_TEST_PREREQ_FINISHED,$@) | 
| Brian Carlstrom | 08981ab | 2012-05-25 18:40:15 -0700 | [diff] [blame] | 166 |  | 
| Brian Carlstrom | bc2f3e3 | 2011-09-22 17:16:54 -0700 | [diff] [blame] | 167 | ######################################################################## | 
| Ian Rogers | afd9acc | 2014-06-17 08:21:54 -0700 | [diff] [blame] | 168 | # host test rules | 
| Brian Carlstrom | bc2f3e3 | 2011-09-22 17:16:54 -0700 | [diff] [blame] | 169 |  | 
| Ian Rogers | 7a4c1c1 | 2014-05-18 13:03:52 -0700 | [diff] [blame] | 170 | VIXL_TEST_DEPENDENCY := | 
|  | 171 | # We can only run the vixl tests on 64-bit hosts (vixl testing issue) when its a | 
|  | 172 | # top-level build (to declare the vixl test rule). | 
| Ian Rogers | afd9acc | 2014-06-17 08:21:54 -0700 | [diff] [blame] | 173 | ifneq ($(HOST_PREFER_32_BIT),true) | 
| Ian Rogers | 7a4c1c1 | 2014-05-18 13:03:52 -0700 | [diff] [blame] | 174 | ifeq ($(ONE_SHOT_MAKEFILE),) | 
|  | 175 | VIXL_TEST_DEPENDENCY := run-vixl-tests | 
| Andreas Gampe | 3c03357 | 2014-05-13 08:41:48 -0700 | [diff] [blame] | 176 | endif | 
| Ian Rogers | 7a4c1c1 | 2014-05-18 13:03:52 -0700 | [diff] [blame] | 177 | endif | 
|  | 178 |  | 
| Ian Rogers | afd9acc | 2014-06-17 08:21:54 -0700 | [diff] [blame] | 179 | .PHONY: test-art-host-vixl | 
| Ian Rogers | 7a4c1c1 | 2014-05-18 13:03:52 -0700 | [diff] [blame] | 180 | test-art-host-vixl: $(VIXL_TEST_DEPENDENCY) | 
| Andreas Gampe | 3c03357 | 2014-05-13 08:41:48 -0700 | [diff] [blame] | 181 |  | 
| Ian Rogers | afd9acc | 2014-06-17 08:21:54 -0700 | [diff] [blame] | 182 | # "mm test-art-host" to build and run all host tests. | 
| Brian Carlstrom | 934486c | 2011-07-12 23:42:50 -0700 | [diff] [blame] | 183 | .PHONY: test-art-host | 
| Andreas Gampe | 1c83cbc | 2014-07-22 18:52:29 -0700 | [diff] [blame] | 184 | test-art-host: test-art-host-gtest test-art-host-run-test test-art-host-vixl | 
| Ian Rogers | afd9acc | 2014-06-17 08:21:54 -0700 | [diff] [blame] | 185 | $(hide) $(call ART_TEST_PREREQ_FINISHED,$@) | 
| Brian Carlstrom | 59848da | 2011-07-23 20:35:19 -0700 | [diff] [blame] | 186 |  | 
| Ian Rogers | afd9acc | 2014-06-17 08:21:54 -0700 | [diff] [blame] | 187 | # All host tests that run solely with the default compiler. | 
|  | 188 | .PHONY: test-art-host-default | 
| Andreas Gampe | 1c83cbc | 2014-07-22 18:52:29 -0700 | [diff] [blame] | 189 | test-art-host-default: test-art-host-run-test-default | 
| Ian Rogers | afd9acc | 2014-06-17 08:21:54 -0700 | [diff] [blame] | 190 | $(hide) $(call ART_TEST_PREREQ_FINISHED,$@) | 
|  | 191 |  | 
|  | 192 | # All host tests that run solely with the optimizing compiler. | 
|  | 193 | .PHONY: test-art-host-optimizing | 
| Andreas Gampe | 1c83cbc | 2014-07-22 18:52:29 -0700 | [diff] [blame] | 194 | test-art-host-optimizing: test-art-host-run-test-optimizing | 
| Ian Rogers | afd9acc | 2014-06-17 08:21:54 -0700 | [diff] [blame] | 195 | $(hide) $(call ART_TEST_PREREQ_FINISHED,$@) | 
|  | 196 |  | 
|  | 197 | # All host tests that run solely on the interpreter. | 
| Ian Rogers | 85d9ba6 | 2013-01-16 22:32:12 -0800 | [diff] [blame] | 198 | .PHONY: test-art-host-interpreter | 
| Andreas Gampe | 1c83cbc | 2014-07-22 18:52:29 -0700 | [diff] [blame] | 199 | test-art-host-interpreter: test-art-host-run-test-interpreter | 
| Ian Rogers | afd9acc | 2014-06-17 08:21:54 -0700 | [diff] [blame] | 200 | $(hide) $(call ART_TEST_PREREQ_FINISHED,$@) | 
| Ian Rogers | 85d9ba6 | 2013-01-16 22:32:12 -0800 | [diff] [blame] | 201 |  | 
| Ian Rogers | afd9acc | 2014-06-17 08:21:54 -0700 | [diff] [blame] | 202 | # Primary host architecture variants: | 
|  | 203 | .PHONY: test-art-host$(ART_PHONY_TEST_HOST_SUFFIX) | 
|  | 204 | test-art-host$(ART_PHONY_TEST_HOST_SUFFIX): test-art-host-gtest$(ART_PHONY_TEST_HOST_SUFFIX) \ | 
| Andreas Gampe | 1c83cbc | 2014-07-22 18:52:29 -0700 | [diff] [blame] | 205 | test-art-host-run-test$(ART_PHONY_TEST_HOST_SUFFIX) | 
| Ian Rogers | afd9acc | 2014-06-17 08:21:54 -0700 | [diff] [blame] | 206 | $(hide) $(call ART_TEST_PREREQ_FINISHED,$@) | 
| Brian Carlstrom | b0aa9d3 | 2012-04-07 23:12:22 -0700 | [diff] [blame] | 207 |  | 
| Ian Rogers | afd9acc | 2014-06-17 08:21:54 -0700 | [diff] [blame] | 208 | .PHONY: test-art-host-default$(ART_PHONY_TEST_HOST_SUFFIX) | 
| Andreas Gampe | 1c83cbc | 2014-07-22 18:52:29 -0700 | [diff] [blame] | 209 | test-art-host-default$(ART_PHONY_TEST_HOST_SUFFIX): test-art-host-run-test-default$(ART_PHONY_TEST_HOST_SUFFIX) | 
| Ian Rogers | afd9acc | 2014-06-17 08:21:54 -0700 | [diff] [blame] | 210 | $(hide) $(call ART_TEST_PREREQ_FINISHED,$@) | 
| Elliott Hughes | 2cae5a2 | 2011-08-14 14:27:25 -0700 | [diff] [blame] | 211 |  | 
| Ian Rogers | afd9acc | 2014-06-17 08:21:54 -0700 | [diff] [blame] | 212 | .PHONY: test-art-host-optimizing$(ART_PHONY_TEST_HOST_SUFFIX) | 
| Andreas Gampe | 1c83cbc | 2014-07-22 18:52:29 -0700 | [diff] [blame] | 213 | test-art-host-optimizing$(ART_PHONY_TEST_HOST_SUFFIX): test-art-host-run-test-optimizing$(ART_PHONY_TEST_HOST_SUFFIX) | 
| Ian Rogers | afd9acc | 2014-06-17 08:21:54 -0700 | [diff] [blame] | 214 | $(hide) $(call ART_TEST_PREREQ_FINISHED,$@) | 
| Brian Carlstrom | b279337 | 2012-03-17 18:27:16 -0700 | [diff] [blame] | 215 |  | 
| Ian Rogers | afd9acc | 2014-06-17 08:21:54 -0700 | [diff] [blame] | 216 | .PHONY: test-art-host-interpreter$(ART_PHONY_TEST_HOST_SUFFIX) | 
| Andreas Gampe | 1c83cbc | 2014-07-22 18:52:29 -0700 | [diff] [blame] | 217 | test-art-host-interpreter$(ART_PHONY_TEST_HOST_SUFFIX): test-art-host-run-test-interpreter$(ART_PHONY_TEST_HOST_SUFFIX) | 
| Ian Rogers | afd9acc | 2014-06-17 08:21:54 -0700 | [diff] [blame] | 218 | $(hide) $(call ART_TEST_PREREQ_FINISHED,$@) | 
| Brian Carlstrom | dbaa93a | 2013-07-31 15:13:10 -0700 | [diff] [blame] | 219 |  | 
| Ian Rogers | afd9acc | 2014-06-17 08:21:54 -0700 | [diff] [blame] | 220 | # Secondary host architecture variants: | 
|  | 221 | ifneq ($(HOST_PREFER_32_BIT),true) | 
|  | 222 | .PHONY: test-art-host$(2ND_ART_PHONY_TEST_HOST_SUFFIX) | 
|  | 223 | test-art-host$(2ND_ART_PHONY_TEST_HOST_SUFFIX): test-art-host-gtest$(2ND_ART_PHONY_TEST_HOST_SUFFIX) \ | 
| Andreas Gampe | 1c83cbc | 2014-07-22 18:52:29 -0700 | [diff] [blame] | 224 | test-art-host-run-test$(2ND_ART_PHONY_TEST_HOST_SUFFIX) | 
| Ian Rogers | afd9acc | 2014-06-17 08:21:54 -0700 | [diff] [blame] | 225 | $(hide) $(call ART_TEST_PREREQ_FINISHED,$@) | 
| Brian Carlstrom | dbaa93a | 2013-07-31 15:13:10 -0700 | [diff] [blame] | 226 |  | 
| Ian Rogers | afd9acc | 2014-06-17 08:21:54 -0700 | [diff] [blame] | 227 | .PHONY: test-art-host-default$(2ND_ART_PHONY_TEST_HOST_SUFFIX) | 
| Andreas Gampe | 1c83cbc | 2014-07-22 18:52:29 -0700 | [diff] [blame] | 228 | test-art-host-default$(2ND_ART_PHONY_TEST_HOST_SUFFIX): test-art-host-run-test-default$(2ND_ART_PHONY_TEST_HOST_SUFFIX) | 
| Ian Rogers | afd9acc | 2014-06-17 08:21:54 -0700 | [diff] [blame] | 229 | $(hide) $(call ART_TEST_PREREQ_FINISHED,$@) | 
| Elliott Hughes | 5511f21 | 2011-08-12 18:07:45 -0700 | [diff] [blame] | 230 |  | 
| Ian Rogers | afd9acc | 2014-06-17 08:21:54 -0700 | [diff] [blame] | 231 | .PHONY: test-art-host-optimizing$(2ND_ART_PHONY_TEST_HOST_SUFFIX) | 
| Andreas Gampe | 1c83cbc | 2014-07-22 18:52:29 -0700 | [diff] [blame] | 232 | test-art-host-optimizing$(2ND_ART_PHONY_TEST_HOST_SUFFIX): test-art-host-run-test-optimizing$(2ND_ART_PHONY_TEST_HOST_SUFFIX) | 
| Ian Rogers | afd9acc | 2014-06-17 08:21:54 -0700 | [diff] [blame] | 233 | $(hide) $(call ART_TEST_PREREQ_FINISHED,$@) | 
| Nicolas Geoffray | 3a50522 | 2014-05-26 16:40:55 +0100 | [diff] [blame] | 234 |  | 
| Ian Rogers | afd9acc | 2014-06-17 08:21:54 -0700 | [diff] [blame] | 235 | .PHONY: test-art-host-interpreter$(2ND_ART_PHONY_TEST_HOST_SUFFIX) | 
| Andreas Gampe | 1c83cbc | 2014-07-22 18:52:29 -0700 | [diff] [blame] | 236 | test-art-host-interpreter$(2ND_ART_PHONY_TEST_HOST_SUFFIX): test-art-host-run-test-interpreter$(2ND_ART_PHONY_TEST_HOST_SUFFIX) | 
| Ian Rogers | afd9acc | 2014-06-17 08:21:54 -0700 | [diff] [blame] | 237 | $(hide) $(call ART_TEST_PREREQ_FINISHED,$@) | 
| Andreas Gampe | 2fe0792 | 2014-04-21 07:50:39 -0700 | [diff] [blame] | 238 | endif | 
| Brian Carlstrom | e24fa61 | 2011-09-29 00:53:55 -0700 | [diff] [blame] | 239 |  | 
| Andreas Gampe | 928f72b | 2014-09-09 19:53:48 -0700 | [diff] [blame] | 240 | # Valgrind. Currently only 32b gtests. | 
|  | 241 | .PHONY: valgrind-test-art-host | 
|  | 242 | valgrind-test-art-host: valgrind-test-art-host-gtest32 | 
|  | 243 | $(hide) $(call ART_TEST_PREREQ_FINISHED,$@) | 
|  | 244 |  | 
| Brian Carlstrom | bc2f3e3 | 2011-09-22 17:16:54 -0700 | [diff] [blame] | 245 | ######################################################################## | 
| Ian Rogers | afd9acc | 2014-06-17 08:21:54 -0700 | [diff] [blame] | 246 | # target test rules | 
| Brian Carlstrom | bc2f3e3 | 2011-09-22 17:16:54 -0700 | [diff] [blame] | 247 |  | 
| Ian Rogers | afd9acc | 2014-06-17 08:21:54 -0700 | [diff] [blame] | 248 | # "mm test-art-target" to build and run all target tests. | 
|  | 249 | .PHONY: test-art-target | 
| Andreas Gampe | 1c83cbc | 2014-07-22 18:52:29 -0700 | [diff] [blame] | 250 | test-art-target: test-art-target-gtest test-art-target-run-test | 
| Ian Rogers | afd9acc | 2014-06-17 08:21:54 -0700 | [diff] [blame] | 251 | $(hide) $(call ART_TEST_PREREQ_FINISHED,$@) | 
|  | 252 |  | 
|  | 253 | # All target tests that run solely with the default compiler. | 
|  | 254 | .PHONY: test-art-target-default | 
| Andreas Gampe | 1c83cbc | 2014-07-22 18:52:29 -0700 | [diff] [blame] | 255 | test-art-target-default: test-art-target-run-test-default | 
| Ian Rogers | afd9acc | 2014-06-17 08:21:54 -0700 | [diff] [blame] | 256 | $(hide) $(call ART_TEST_PREREQ_FINISHED,$@) | 
|  | 257 |  | 
|  | 258 | # All target tests that run solely with the optimizing compiler. | 
|  | 259 | .PHONY: test-art-target-optimizing | 
| Andreas Gampe | 1c83cbc | 2014-07-22 18:52:29 -0700 | [diff] [blame] | 260 | test-art-target-optimizing: test-art-target-run-test-optimizing | 
| Ian Rogers | afd9acc | 2014-06-17 08:21:54 -0700 | [diff] [blame] | 261 | $(hide) $(call ART_TEST_PREREQ_FINISHED,$@) | 
|  | 262 |  | 
|  | 263 | # All target tests that run solely on the interpreter. | 
|  | 264 | .PHONY: test-art-target-interpreter | 
| Andreas Gampe | 1c83cbc | 2014-07-22 18:52:29 -0700 | [diff] [blame] | 265 | test-art-target-interpreter: test-art-target-run-test-interpreter | 
| Ian Rogers | afd9acc | 2014-06-17 08:21:54 -0700 | [diff] [blame] | 266 | $(hide) $(call ART_TEST_PREREQ_FINISHED,$@) | 
|  | 267 |  | 
|  | 268 | # Primary target architecture variants: | 
|  | 269 | .PHONY: test-art-target$(ART_PHONY_TEST_TARGET_SUFFIX) | 
|  | 270 | test-art-target$(ART_PHONY_TEST_TARGET_SUFFIX): test-art-target-gtest$(ART_PHONY_TEST_TARGET_SUFFIX) \ | 
| Andreas Gampe | 1c83cbc | 2014-07-22 18:52:29 -0700 | [diff] [blame] | 271 | test-art-target-run-test$(ART_PHONY_TEST_TARGET_SUFFIX) | 
| Ian Rogers | afd9acc | 2014-06-17 08:21:54 -0700 | [diff] [blame] | 272 | $(hide) $(call ART_TEST_PREREQ_FINISHED,$@) | 
|  | 273 |  | 
|  | 274 | .PHONY: test-art-target-default$(ART_PHONY_TEST_TARGET_SUFFIX) | 
| Andreas Gampe | 1c83cbc | 2014-07-22 18:52:29 -0700 | [diff] [blame] | 275 | test-art-target-default$(ART_PHONY_TEST_TARGET_SUFFIX): test-art-target-run-test-default$(ART_PHONY_TEST_TARGET_SUFFIX) | 
| Ian Rogers | afd9acc | 2014-06-17 08:21:54 -0700 | [diff] [blame] | 276 | $(hide) $(call ART_TEST_PREREQ_FINISHED,$@) | 
|  | 277 |  | 
|  | 278 | .PHONY: test-art-target-optimizing$(ART_PHONY_TEST_TARGET_SUFFIX) | 
| Andreas Gampe | 1c83cbc | 2014-07-22 18:52:29 -0700 | [diff] [blame] | 279 | test-art-target-optimizing$(ART_PHONY_TEST_TARGET_SUFFIX): test-art-target-run-test-optimizing$(ART_PHONY_TEST_TARGET_SUFFIX) | 
| Ian Rogers | afd9acc | 2014-06-17 08:21:54 -0700 | [diff] [blame] | 280 | $(hide) $(call ART_TEST_PREREQ_FINISHED,$@) | 
|  | 281 |  | 
|  | 282 | .PHONY: test-art-target-interpreter$(ART_PHONY_TEST_TARGET_SUFFIX) | 
| Andreas Gampe | 1c83cbc | 2014-07-22 18:52:29 -0700 | [diff] [blame] | 283 | test-art-target-interpreter$(ART_PHONY_TEST_TARGET_SUFFIX): test-art-target-run-test-interpreter$(ART_PHONY_TEST_TARGET_SUFFIX) | 
| Ian Rogers | afd9acc | 2014-06-17 08:21:54 -0700 | [diff] [blame] | 284 | $(hide) $(call ART_TEST_PREREQ_FINISHED,$@) | 
|  | 285 |  | 
|  | 286 | # Secondary target architecture variants: | 
|  | 287 | ifdef TARGET_2ND_ARCH | 
|  | 288 | .PHONY: test-art-target$(2ND_ART_PHONY_TEST_TARGET_SUFFIX) | 
|  | 289 | test-art-target$(2ND_ART_PHONY_TEST_TARGET_SUFFIX): test-art-target-gtest$(2ND_ART_PHONY_TEST_TARGET_SUFFIX) \ | 
| Andreas Gampe | 1c83cbc | 2014-07-22 18:52:29 -0700 | [diff] [blame] | 290 | test-art-target-run-test$(2ND_ART_PHONY_TEST_TARGET_SUFFIX) | 
| Ian Rogers | afd9acc | 2014-06-17 08:21:54 -0700 | [diff] [blame] | 291 | $(hide) $(call ART_TEST_PREREQ_FINISHED,$@) | 
|  | 292 |  | 
|  | 293 | .PHONY: test-art-target-default$(2ND_ART_PHONY_TEST_TARGET_SUFFIX) | 
| Andreas Gampe | 1c83cbc | 2014-07-22 18:52:29 -0700 | [diff] [blame] | 294 | test-art-target-default$(2ND_ART_PHONY_TEST_TARGET_SUFFIX): test-art-target-run-test-default$(2ND_ART_PHONY_TEST_TARGET_SUFFIX) | 
| Ian Rogers | afd9acc | 2014-06-17 08:21:54 -0700 | [diff] [blame] | 295 | $(hide) $(call ART_TEST_PREREQ_FINISHED,$@) | 
|  | 296 |  | 
|  | 297 | .PHONY: test-art-target-optimizing$(2ND_ART_PHONY_TEST_TARGET_SUFFIX) | 
| Andreas Gampe | 1c83cbc | 2014-07-22 18:52:29 -0700 | [diff] [blame] | 298 | test-art-target-optimizing$(2ND_ART_PHONY_TEST_TARGET_SUFFIX): test-art-target-run-test-optimizing$(2ND_ART_PHONY_TEST_TARGET_SUFFIX) | 
| Ian Rogers | afd9acc | 2014-06-17 08:21:54 -0700 | [diff] [blame] | 299 | $(hide) $(call ART_TEST_PREREQ_FINISHED,$@) | 
|  | 300 |  | 
|  | 301 | .PHONY: test-art-target-interpreter$(2ND_ART_PHONY_TEST_TARGET_SUFFIX) | 
| Andreas Gampe | 1c83cbc | 2014-07-22 18:52:29 -0700 | [diff] [blame] | 302 | test-art-target-interpreter$(2ND_ART_PHONY_TEST_TARGET_SUFFIX): test-art-target-run-test-interpreter$(2ND_ART_PHONY_TEST_TARGET_SUFFIX) | 
| Ian Rogers | afd9acc | 2014-06-17 08:21:54 -0700 | [diff] [blame] | 303 | $(hide) $(call ART_TEST_PREREQ_FINISHED,$@) | 
|  | 304 | endif | 
|  | 305 |  | 
| Ian Rogers | 8f0bbd2 | 2014-09-26 15:31:20 -0700 | [diff] [blame] | 306 | endif  # art_test_bother | 
|  | 307 |  | 
| Ian Rogers | afd9acc | 2014-06-17 08:21:54 -0700 | [diff] [blame] | 308 | ######################################################################## | 
|  | 309 | # oat-target and oat-target-sync rules | 
|  | 310 |  | 
|  | 311 | OAT_TARGET_RULES := | 
| Brian Carlstrom | 04941d9 | 2012-02-19 01:47:51 -0800 | [diff] [blame] | 312 |  | 
|  | 313 | # $(1): input jar or apk target location | 
|  | 314 | define declare-oat-target-target | 
| Brian Carlstrom | 46b8a62 | 2012-06-19 23:13:22 -0700 | [diff] [blame] | 315 | ifneq (,$(filter $(1),$(addprefix system/app/,$(addsuffix .apk,$(PRODUCT_DEX_PREOPT_PACKAGES_IN_DATA))))) | 
| Brian Carlstrom | 999cd43 | 2013-06-22 23:08:53 -0700 | [diff] [blame] | 316 | OUT_OAT_FILE := $(call dalvik-cache-out,$(1)/classes.dex) | 
| Brian Carlstrom | 46b8a62 | 2012-06-19 23:13:22 -0700 | [diff] [blame] | 317 | else | 
| Brian Carlstrom | 999cd43 | 2013-06-22 23:08:53 -0700 | [diff] [blame] | 318 | OUT_OAT_FILE := $(PRODUCT_OUT)/$(basename $(1)).odex | 
| Brian Carlstrom | 46b8a62 | 2012-06-19 23:13:22 -0700 | [diff] [blame] | 319 | endif | 
| Shih-wei Liao | 2e01f24 | 2012-05-28 03:11:59 -0700 | [diff] [blame] | 320 |  | 
|  | 321 | ifeq ($(ONE_SHOT_MAKEFILE),) | 
| Brian Carlstrom | 90e2741 | 2013-03-13 21:51:47 -0700 | [diff] [blame] | 322 | # ONE_SHOT_MAKEFILE is empty for a top level build and we don't want | 
|  | 323 | # to define the oat-target-* rules there because they will conflict | 
|  | 324 | # with the build/core/dex_preopt.mk defined rules. | 
| Brian Carlstrom | 04941d9 | 2012-02-19 01:47:51 -0800 | [diff] [blame] | 325 | .PHONY: oat-target-$(1) | 
| Brian Carlstrom | 90e2741 | 2013-03-13 21:51:47 -0700 | [diff] [blame] | 326 | oat-target-$(1): | 
| Shih-wei Liao | 2e01f24 | 2012-05-28 03:11:59 -0700 | [diff] [blame] | 327 |  | 
|  | 328 | else | 
|  | 329 | .PHONY: oat-target-$(1) | 
| Shih-wei Liao | 7eea0e8 | 2012-05-28 23:56:21 -0700 | [diff] [blame] | 330 | oat-target-$(1): $$(OUT_OAT_FILE) | 
| Shih-wei Liao | 2e01f24 | 2012-05-28 03:11:59 -0700 | [diff] [blame] | 331 |  | 
| Nicolas Geoffray | 1ffa074 | 2014-10-06 14:55:06 +0100 | [diff] [blame] | 332 | $$(OUT_OAT_FILE): $(PRODUCT_OUT)/$(1) $(DEFAULT_DEX_PREOPT_BUILT_IMAGE) $(DEX2OAT_DEPENDENCY) | 
| Brian Carlstrom | 90e2741 | 2013-03-13 21:51:47 -0700 | [diff] [blame] | 333 | @mkdir -p $$(dir $$@) | 
| Nicolas Geoffray | 1ffa074 | 2014-10-06 14:55:06 +0100 | [diff] [blame] | 334 | $(DEX2OAT) --runtime-arg -Xms$(DEX2OAT_XMS) --runtime-arg -Xmx$(DEX2OAT_XMX) \ | 
| Ian Rogers | 9b79776 | 2014-04-18 15:40:37 -0700 | [diff] [blame] | 335 | --boot-image=$(DEFAULT_DEX_PREOPT_BUILT_IMAGE) --dex-file=$(PRODUCT_OUT)/$(1) \ | 
|  | 336 | --dex-location=/$(1) --oat-file=$$@ \ | 
|  | 337 | --instruction-set=$(DEX2OAT_TARGET_ARCH) \ | 
|  | 338 | --instruction-set-features=$(DEX2OAT_TARGET_INSTRUCTION_SET_FEATURES) \ | 
| Alex Light | 6e183f2 | 2014-07-18 14:57:04 -0700 | [diff] [blame] | 339 | --android-root=$(PRODUCT_OUT)/system --include-patch-information \ | 
|  | 340 | --runtime-arg -Xnorelocate | 
| Shih-wei Liao | 2e01f24 | 2012-05-28 03:11:59 -0700 | [diff] [blame] | 341 |  | 
|  | 342 | endif | 
| Brian Carlstrom | 04941d9 | 2012-02-19 01:47:51 -0800 | [diff] [blame] | 343 |  | 
| Ian Rogers | afd9acc | 2014-06-17 08:21:54 -0700 | [diff] [blame] | 344 | OAT_TARGET_RULES += oat-target-$(1) | 
| Brian Carlstrom | a9f1978 | 2011-10-13 00:14:47 -0700 | [diff] [blame] | 345 | endef | 
|  | 346 |  | 
| Brian Carlstrom | bd41102 | 2012-02-07 12:09:09 -0800 | [diff] [blame] | 347 | $(foreach file,\ | 
|  | 348 | $(filter-out\ | 
| Brian Carlstrom | 7ab763c | 2013-12-09 00:38:02 -0800 | [diff] [blame] | 349 | $(addprefix $(TARGET_OUT_JAVA_LIBRARIES)/,$(addsuffix .jar,$(LIBART_TARGET_BOOT_JARS))),\ | 
| Brian Carlstrom | bd41102 | 2012-02-07 12:09:09 -0800 | [diff] [blame] | 350 | $(wildcard $(TARGET_OUT_APPS)/*.apk) $(wildcard $(TARGET_OUT_JAVA_LIBRARIES)/*.jar)),\ | 
| Brian Carlstrom | 04941d9 | 2012-02-19 01:47:51 -0800 | [diff] [blame] | 351 | $(eval $(call declare-oat-target-target,$(subst $(PRODUCT_OUT)/,,$(file))))) | 
|  | 352 |  | 
|  | 353 | .PHONY: oat-target | 
| Ian Rogers | afd9acc | 2014-06-17 08:21:54 -0700 | [diff] [blame] | 354 | oat-target: $(ART_TARGET_DEPENDENCIES) $(DEFAULT_DEX_PREOPT_INSTALLED_IMAGE) $(OAT_TARGET_RULES) | 
| Ian Rogers | beb60e2 | 2012-01-31 10:40:40 -0800 | [diff] [blame] | 355 |  | 
| Brian Carlstrom | a6cc893 | 2012-01-04 14:44:07 -0800 | [diff] [blame] | 356 | .PHONY: oat-target-sync | 
| Brian Carlstrom | 04941d9 | 2012-02-19 01:47:51 -0800 | [diff] [blame] | 357 | oat-target-sync: oat-target | 
| Nicolas Geoffray | 28a42c1 | 2014-09-15 09:46:08 +0100 | [diff] [blame] | 358 | adb root | 
|  | 359 | adb wait-for-device remount | 
| Brian Carlstrom | 0796af0 | 2011-10-12 14:31:45 -0700 | [diff] [blame] | 360 | adb sync | 
|  | 361 |  | 
| Brian Carlstrom | 76aa0c0 | 2011-10-11 15:29:43 -0700 | [diff] [blame] | 362 | ######################################################################## | 
| Brian Carlstrom | fa50baa | 2013-08-02 01:00:27 -0700 | [diff] [blame] | 363 | # "m build-art" for quick minimal build | 
|  | 364 | .PHONY: build-art | 
|  | 365 | build-art: build-art-host build-art-target | 
|  | 366 |  | 
|  | 367 | .PHONY: build-art-host | 
| Brian Carlstrom | 87bb26f | 2014-09-08 11:13:47 -0700 | [diff] [blame] | 368 | build-art-host:   $(HOST_OUT_EXECUTABLES)/art $(ART_HOST_DEPENDENCIES) $(HOST_CORE_IMG_OUT) $(2ND_HOST_CORE_IMG_OUT) | 
| Brian Carlstrom | fa50baa | 2013-08-02 01:00:27 -0700 | [diff] [blame] | 369 |  | 
|  | 370 | .PHONY: build-art-target | 
| Brian Carlstrom | 87bb26f | 2014-09-08 11:13:47 -0700 | [diff] [blame] | 371 | build-art-target: $(TARGET_OUT_EXECUTABLES)/art $(ART_TARGET_DEPENDENCIES) $(TARGET_CORE_IMG_OUT) $(2ND_TARGET_CORE_IMG_OUT) | 
| Nicolas Geoffray | 9583fbc | 2014-02-28 15:21:07 +0000 | [diff] [blame] | 372 |  | 
|  | 373 | ######################################################################## | 
| Brian Carlstrom | a7a60a8 | 2013-06-24 17:41:19 -0700 | [diff] [blame] | 374 | # targets to switch back and forth from libdvm to libart | 
|  | 375 |  | 
|  | 376 | .PHONY: use-art | 
|  | 377 | use-art: | 
| Nicolas Geoffray | 28a42c1 | 2014-09-15 09:46:08 +0100 | [diff] [blame] | 378 | adb root | 
|  | 379 | adb wait-for-device shell stop | 
| Brian Carlstrom | 346265e | 2014-05-28 14:56:39 -0700 | [diff] [blame] | 380 | adb shell setprop persist.sys.dalvik.vm.lib.2 libart.so | 
| Brian Carlstrom | 1e895cd | 2014-03-06 23:17:15 -0800 | [diff] [blame] | 381 | adb shell start | 
| Brian Carlstrom | a7a60a8 | 2013-06-24 17:41:19 -0700 | [diff] [blame] | 382 |  | 
|  | 383 | .PHONY: use-artd | 
|  | 384 | use-artd: | 
| Nicolas Geoffray | 28a42c1 | 2014-09-15 09:46:08 +0100 | [diff] [blame] | 385 | adb root | 
|  | 386 | adb wait-for-device shell stop | 
| Brian Carlstrom | 346265e | 2014-05-28 14:56:39 -0700 | [diff] [blame] | 387 | adb shell setprop persist.sys.dalvik.vm.lib.2 libartd.so | 
| Brian Carlstrom | 1e895cd | 2014-03-06 23:17:15 -0800 | [diff] [blame] | 388 | adb shell start | 
| Brian Carlstrom | a7a60a8 | 2013-06-24 17:41:19 -0700 | [diff] [blame] | 389 |  | 
|  | 390 | .PHONY: use-dalvik | 
|  | 391 | use-dalvik: | 
| Nicolas Geoffray | 28a42c1 | 2014-09-15 09:46:08 +0100 | [diff] [blame] | 392 | adb root | 
|  | 393 | adb wait-for-device shell stop | 
| Brian Carlstrom | 346265e | 2014-05-28 14:56:39 -0700 | [diff] [blame] | 394 | adb shell setprop persist.sys.dalvik.vm.lib.2 libdvm.so | 
| Brian Carlstrom | 1e895cd | 2014-03-06 23:17:15 -0800 | [diff] [blame] | 395 | adb shell start | 
|  | 396 |  | 
|  | 397 | .PHONY: use-art-full | 
|  | 398 | use-art-full: | 
| Nicolas Geoffray | 28a42c1 | 2014-09-15 09:46:08 +0100 | [diff] [blame] | 399 | adb root | 
|  | 400 | adb wait-for-device shell stop | 
| Hiroshi Yamauchi | d9faf45 | 2014-06-27 16:08:17 -0700 | [diff] [blame] | 401 | adb shell rm -rf $(ART_TARGET_DALVIK_CACHE_DIR)/* | 
| Brian Carlstrom | 2e87969 | 2014-07-28 19:13:27 -0700 | [diff] [blame] | 402 | adb shell setprop dalvik.vm.dex2oat-filter "" | 
|  | 403 | adb shell setprop dalvik.vm.image-dex2oat-filter "" | 
| Brian Carlstrom | 346265e | 2014-05-28 14:56:39 -0700 | [diff] [blame] | 404 | adb shell setprop persist.sys.dalvik.vm.lib.2 libart.so | 
| Brian Carlstrom | 1e895cd | 2014-03-06 23:17:15 -0800 | [diff] [blame] | 405 | adb shell start | 
|  | 406 |  | 
| Hiroshi Yamauchi | cb9bccd | 2014-05-19 12:29:36 -0700 | [diff] [blame] | 407 | .PHONY: use-artd-full | 
|  | 408 | use-artd-full: | 
| Nicolas Geoffray | 28a42c1 | 2014-09-15 09:46:08 +0100 | [diff] [blame] | 409 | adb root | 
|  | 410 | adb wait-for-device shell stop | 
| Hiroshi Yamauchi | d9faf45 | 2014-06-27 16:08:17 -0700 | [diff] [blame] | 411 | adb shell rm -rf $(ART_TARGET_DALVIK_CACHE_DIR)/* | 
| Brian Carlstrom | 2e87969 | 2014-07-28 19:13:27 -0700 | [diff] [blame] | 412 | adb shell setprop dalvik.vm.dex2oat-filter "" | 
|  | 413 | adb shell setprop dalvik.vm.image-dex2oat-filter "" | 
| Brian Carlstrom | 346265e | 2014-05-28 14:56:39 -0700 | [diff] [blame] | 414 | adb shell setprop persist.sys.dalvik.vm.lib.2 libartd.so | 
| Hiroshi Yamauchi | cb9bccd | 2014-05-19 12:29:36 -0700 | [diff] [blame] | 415 | adb shell start | 
|  | 416 |  | 
| Brian Carlstrom | 1e895cd | 2014-03-06 23:17:15 -0800 | [diff] [blame] | 417 | .PHONY: use-art-smart | 
|  | 418 | use-art-smart: | 
| Nicolas Geoffray | 28a42c1 | 2014-09-15 09:46:08 +0100 | [diff] [blame] | 419 | adb root | 
|  | 420 | adb wait-for-device shell stop | 
| Hiroshi Yamauchi | d9faf45 | 2014-06-27 16:08:17 -0700 | [diff] [blame] | 421 | adb shell rm -rf $(ART_TARGET_DALVIK_CACHE_DIR)/* | 
| Brian Carlstrom | 2e87969 | 2014-07-28 19:13:27 -0700 | [diff] [blame] | 422 | adb shell setprop dalvik.vm.dex2oat-filter "interpret-only" | 
|  | 423 | adb shell setprop dalvik.vm.image-dex2oat-filter "" | 
| Brian Carlstrom | 346265e | 2014-05-28 14:56:39 -0700 | [diff] [blame] | 424 | adb shell setprop persist.sys.dalvik.vm.lib.2 libart.so | 
| Brian Carlstrom | 1e895cd | 2014-03-06 23:17:15 -0800 | [diff] [blame] | 425 | adb shell start | 
|  | 426 |  | 
|  | 427 | .PHONY: use-art-interpret-only | 
|  | 428 | use-art-interpret-only: | 
| Nicolas Geoffray | 28a42c1 | 2014-09-15 09:46:08 +0100 | [diff] [blame] | 429 | adb root | 
|  | 430 | adb wait-for-device shell stop | 
| Hiroshi Yamauchi | d9faf45 | 2014-06-27 16:08:17 -0700 | [diff] [blame] | 431 | adb shell rm -rf $(ART_TARGET_DALVIK_CACHE_DIR)/* | 
| Brian Carlstrom | 2e87969 | 2014-07-28 19:13:27 -0700 | [diff] [blame] | 432 | adb shell setprop dalvik.vm.dex2oat-filter "interpret-only" | 
|  | 433 | adb shell setprop dalvik.vm.image-dex2oat-filter "interpret-only" | 
| Brian Carlstrom | 346265e | 2014-05-28 14:56:39 -0700 | [diff] [blame] | 434 | adb shell setprop persist.sys.dalvik.vm.lib.2 libart.so | 
| Brian Carlstrom | 1e895cd | 2014-03-06 23:17:15 -0800 | [diff] [blame] | 435 | adb shell start | 
| Brian Carlstrom | a7a60a8 | 2013-06-24 17:41:19 -0700 | [diff] [blame] | 436 |  | 
| Sebastien Hertz | 15582b9 | 2014-07-04 10:53:22 +0200 | [diff] [blame] | 437 | .PHONY: use-artd-interpret-only | 
|  | 438 | use-artd-interpret-only: | 
| Nicolas Geoffray | 28a42c1 | 2014-09-15 09:46:08 +0100 | [diff] [blame] | 439 | adb root | 
|  | 440 | adb wait-for-device shell stop | 
| Sebastien Hertz | 15582b9 | 2014-07-04 10:53:22 +0200 | [diff] [blame] | 441 | adb shell rm -rf $(ART_TARGET_DALVIK_CACHE_DIR)/* | 
| Brian Carlstrom | 2e87969 | 2014-07-28 19:13:27 -0700 | [diff] [blame] | 442 | adb shell setprop dalvik.vm.dex2oat-filter "interpret-only" | 
|  | 443 | adb shell setprop dalvik.vm.image-dex2oat-filter "interpret-only" | 
| Sebastien Hertz | 15582b9 | 2014-07-04 10:53:22 +0200 | [diff] [blame] | 444 | adb shell setprop persist.sys.dalvik.vm.lib.2 libartd.so | 
|  | 445 | adb shell start | 
|  | 446 |  | 
| Jeff Hao | 4a200f5 | 2014-04-01 14:58:49 -0700 | [diff] [blame] | 447 | .PHONY: use-art-verify-none | 
|  | 448 | use-art-verify-none: | 
| Nicolas Geoffray | 28a42c1 | 2014-09-15 09:46:08 +0100 | [diff] [blame] | 449 | adb root | 
|  | 450 | adb wait-for-device shell stop | 
| Hiroshi Yamauchi | d9faf45 | 2014-06-27 16:08:17 -0700 | [diff] [blame] | 451 | adb shell rm -rf $(ART_TARGET_DALVIK_CACHE_DIR)/* | 
| Brian Carlstrom | 2e87969 | 2014-07-28 19:13:27 -0700 | [diff] [blame] | 452 | adb shell setprop dalvik.vm.dex2oat-filter "verify-none" | 
|  | 453 | adb shell setprop dalvik.vm.image-dex2oat-filter "verify-none" | 
| Brian Carlstrom | 346265e | 2014-05-28 14:56:39 -0700 | [diff] [blame] | 454 | adb shell setprop persist.sys.dalvik.vm.lib.2 libart.so | 
| Jeff Hao | 4a200f5 | 2014-04-01 14:58:49 -0700 | [diff] [blame] | 455 | adb shell start | 
|  | 456 |  | 
| Brian Carlstrom | a7a60a8 | 2013-06-24 17:41:19 -0700 | [diff] [blame] | 457 | ######################################################################## | 
| Brian Carlstrom | bc2f3e3 | 2011-09-22 17:16:54 -0700 | [diff] [blame] | 458 |  | 
| Brian Carlstrom | 62e3ee3 | 2012-06-18 14:58:55 -0700 | [diff] [blame] | 459 | endif # !art_dont_bother | 
| Ian Rogers | 8f0bbd2 | 2014-09-26 15:31:20 -0700 | [diff] [blame] | 460 |  | 
|  | 461 | # Clear locally used variables. | 
|  | 462 | art_dont_bother := | 
|  | 463 | art_test_bother := |