Android.common.mk revision a8a9c3490776ab897a15bebd31119c94ede5c19a
17b21670581d13db32f1384a3b2692bcfc8f57320Carl Shapiro#
27b21670581d13db32f1384a3b2692bcfc8f57320Carl Shapiro# Copyright (C) 2011 The Android Open Source Project
37b21670581d13db32f1384a3b2692bcfc8f57320Carl Shapiro#
47b21670581d13db32f1384a3b2692bcfc8f57320Carl Shapiro# Licensed under the Apache License, Version 2.0 (the "License");
57b21670581d13db32f1384a3b2692bcfc8f57320Carl Shapiro# you may not use this file except in compliance with the License.
67b21670581d13db32f1384a3b2692bcfc8f57320Carl Shapiro# You may obtain a copy of the License at
77b21670581d13db32f1384a3b2692bcfc8f57320Carl Shapiro#
87b21670581d13db32f1384a3b2692bcfc8f57320Carl Shapiro#      http://www.apache.org/licenses/LICENSE-2.0
97b21670581d13db32f1384a3b2692bcfc8f57320Carl Shapiro#
107b21670581d13db32f1384a3b2692bcfc8f57320Carl Shapiro# Unless required by applicable law or agreed to in writing, software
117b21670581d13db32f1384a3b2692bcfc8f57320Carl Shapiro# distributed under the License is distributed on an "AS IS" BASIS,
127b21670581d13db32f1384a3b2692bcfc8f57320Carl Shapiro# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
137b21670581d13db32f1384a3b2692bcfc8f57320Carl Shapiro# See the License for the specific language governing permissions and
147b21670581d13db32f1384a3b2692bcfc8f57320Carl Shapiro# limitations under the License.
157b21670581d13db32f1384a3b2692bcfc8f57320Carl Shapiro#
167b21670581d13db32f1384a3b2692bcfc8f57320Carl Shapiro
17d1fec81868a3567560a3868350e0a945248e925bShih-wei Liao# Use llvm as the backend
18d1fec81868a3567560a3868350e0a945248e925bShih-wei Liaoifneq ($(wildcard art/USE_LLVM_COMPILER),)
19d1fec81868a3567560a3868350e0a945248e925bShih-wei LiaoART_USE_LLVM_COMPILER := true
20d1fec81868a3567560a3868350e0a945248e925bShih-wei Liaoelse
21d1fec81868a3567560a3868350e0a945248e925bShih-wei LiaoART_USE_LLVM_COMPILER := false
22d1fec81868a3567560a3868350e0a945248e925bShih-wei Liaoendif
23d1fec81868a3567560a3868350e0a945248e925bShih-wei Liao
2431a4a6f5717f645da6b97ccc1e420ae1e1c71ce0buzbee# Build for MIPS target (temporary)
2531a4a6f5717f645da6b97ccc1e420ae1e1c71ce0buzbeeifneq ($(wildcard art/MIPS_TARGET),)
2631a4a6f5717f645da6b97ccc1e420ae1e1c71ce0buzbeeART_MIPS_TARGET := true
2731a4a6f5717f645da6b97ccc1e420ae1e1c71ce0buzbeeelse
2831a4a6f5717f645da6b97ccc1e420ae1e1c71ce0buzbeeART_MIPS_TARGET := false
2931a4a6f5717f645da6b97ccc1e420ae1e1c71ce0buzbeeendif
3031a4a6f5717f645da6b97ccc1e420ae1e1c71ce0buzbee
31d1fec81868a3567560a3868350e0a945248e925bShih-wei Liaoifeq ($(ART_USE_LLVM_COMPILER),true)
32d1fec81868a3567560a3868350e0a945248e925bShih-wei LiaoLLVM_ROOT_PATH := external/llvm
33d1fec81868a3567560a3868350e0a945248e925bShih-wei Liaoinclude $(LLVM_ROOT_PATH)/llvm.mk
34d1fec81868a3567560a3868350e0a945248e925bShih-wei Liaoendif
35d1fec81868a3567560a3868350e0a945248e925bShih-wei Liao
3632b4b2a30636360756058524f8491ee4cd81c423Brian Carlstrom# directory used for gtests on device
3732b4b2a30636360756058524f8491ee4cd81c423Brian CarlstromART_NATIVETEST_DIR := /data/nativetest/art
3832b4b2a30636360756058524f8491ee4cd81c423Brian CarlstromART_NATIVETEST_OUT := $(TARGET_OUT_DATA_NATIVE_TESTS)/art
3932b4b2a30636360756058524f8491ee4cd81c423Brian Carlstrom
4047a0d5a6f221066c3daf7f67f2122ed9c9cd217cBrian Carlstrom# directory used for tests on device
4147a0d5a6f221066c3daf7f67f2122ed9c9cd217cBrian CarlstromART_TEST_DIR := /data/art-test
4247a0d5a6f221066c3daf7f67f2122ed9c9cd217cBrian CarlstromART_TEST_OUT := $(TARGET_OUT_DATA)/art-test
4347a0d5a6f221066c3daf7f67f2122ed9c9cd217cBrian Carlstrom
44cdc8de4642ca447a7ed205f0d2203cb217e48aadBrian CarlstromART_CPP_EXTENSION := .cc
459bf84fd5b69f17ad3e3dca37aa021bdc4246259eCarl Shapiro
460af5543f8ea20c3e655b2d748a1b7dcf283792feElliott HughesART_C_INCLUDES := \
470af5543f8ea20c3e655b2d748a1b7dcf283792feElliott Hughes	external/gtest/include \
480af5543f8ea20c3e655b2d748a1b7dcf283792feElliott Hughes	external/icu4c/common \
490af5543f8ea20c3e655b2d748a1b7dcf283792feElliott Hughes	external/icu4c/i18n \
508d768a954b101a9532f980253ac46be2c53aba11Elliott Hughes	external/valgrind/dynamic_annotations \
51c143c55718342519db5398e41dda31422cf16c79buzbee	external/zlib \
52c143c55718342519db5398e41dda31422cf16c79buzbee	art/src \
53c143c55718342519db5398e41dda31422cf16c79buzbee	dalvik/libdex
54b0460eaa2cb131f1dbdd5a7217bd36b9a9f1b995Brian Carlstrom
551d3f114124b140629a7d22fa5cfa20ab8fc96934Elliott Hughesart_cflags := \
56646c3d7b965122bc88706307704d6d50e26df758Ian Rogers	-O2 \
571fb8620309a4e94d11879aabc33364acfa733904Carl Shapiro	-ggdb3 \
581fb8620309a4e94d11879aabc33364acfa733904Carl Shapiro	-Wall \
591fb8620309a4e94d11879aabc33364acfa733904Carl Shapiro	-Werror \
601fb8620309a4e94d11879aabc33364acfa733904Carl Shapiro	-Wextra \
611fb8620309a4e94d11879aabc33364acfa733904Carl Shapiro	-Wno-unused-parameter \
62eaa200d9b8a28f1a23b6ded7875d2b8fca555254Elliott Hughes	-Wstrict-aliasing=3 \
631fb8620309a4e94d11879aabc33364acfa733904Carl Shapiro	-fno-align-jumps \
641fb8620309a4e94d11879aabc33364acfa733904Carl Shapiro	-fstrict-aliasing
651fb8620309a4e94d11879aabc33364acfa733904Carl Shapiro
66d1fec81868a3567560a3868350e0a945248e925bShih-wei Liaoifeq ($(ART_USE_LLVM_COMPILER),true)
6750e510229e874e78f40419533057a562a69747d7Shih-wei Liaoart_cflags += -DART_USE_LLVM_COMPILER=1
68d1fec81868a3567560a3868350e0a945248e925bShih-wei Liaoendif
69d1fec81868a3567560a3868350e0a945248e925bShih-wei Liao
7031a4a6f5717f645da6b97ccc1e420ae1e1c71ce0buzbee# (temp) for testing
7131a4a6f5717f645da6b97ccc1e420ae1e1c71ce0buzbeeifeq ($(ART_MIPS_TARGET),true)
7231a4a6f5717f645da6b97ccc1e420ae1e1c71ce0buzbeeart_cflags += -D__mips_hard_float
7331a4a6f5717f645da6b97ccc1e420ae1e1c71ce0buzbeeendif
7431a4a6f5717f645da6b97ccc1e420ae1e1c71ce0buzbee
7569d7a6b9f87afbf6308e28c66bbcab7ff94c8049Brian Carlstromifeq ($(HOST_OS),linux)
7624782c6aa7abf396de057d7eb15035b4c594a3b4Shih-wei Liao  art_non_debug_cflags := \
773b6baaa203fa63f1522b2172a1645f90412afdaeElliott Hughes	-Wframe-larger-than=1728
7869d7a6b9f87afbf6308e28c66bbcab7ff94c8049Brian Carlstromendif
793b6baaa203fa63f1522b2172a1645f90412afdaeElliott Hughes
803b6baaa203fa63f1522b2172a1645f90412afdaeElliott Hughesart_debug_cflags := \
8106e3ad4a651c2c58dba5e865cd06d2f98462bf1dElliott Hughes	-DDYNAMIC_ANNOTATIONS_ENABLED=1 \
823b6baaa203fa63f1522b2172a1645f90412afdaeElliott Hughes	-UNDEBUG
833b6baaa203fa63f1522b2172a1645f90412afdaeElliott Hughes
841d3f114124b140629a7d22fa5cfa20ab8fc96934Elliott HughesART_HOST_CFLAGS := $(art_cflags) -DANDROID_SMP=1
851d3f114124b140629a7d22fa5cfa20ab8fc96934Elliott Hughes
861d3f114124b140629a7d22fa5cfa20ab8fc96934Elliott HughesART_TARGET_CFLAGS := $(art_cflags)
871d3f114124b140629a7d22fa5cfa20ab8fc96934Elliott Hughesifeq ($(TARGET_CPU_SMP),true)
881d3f114124b140629a7d22fa5cfa20ab8fc96934Elliott Hughes  ART_TARGET_CFLAGS += -DANDROID_SMP=1
891d3f114124b140629a7d22fa5cfa20ab8fc96934Elliott Hugheselse
901d3f114124b140629a7d22fa5cfa20ab8fc96934Elliott Hughes  ART_TARGET_CFLAGS += -DANDROID_SMP=0
911d3f114124b140629a7d22fa5cfa20ab8fc96934Elliott Hughesendif
921d3f114124b140629a7d22fa5cfa20ab8fc96934Elliott Hughes
9389521898b56f2ebc3fb68acfb6bc6dde9b6f5c38Brian Carlstrom# To use oprofile_android --callgraph, uncomment this and recompile with "mmm art -B -j16"
9489521898b56f2ebc3fb68acfb6bc6dde9b6f5c38Brian Carlstrom# ART_TARGET_CFLAGS += -fno-omit-frame-pointer -marm -mapcs
9589521898b56f2ebc3fb68acfb6bc6dde9b6f5c38Brian Carlstrom
963b6baaa203fa63f1522b2172a1645f90412afdaeElliott HughesART_HOST_NON_DEBUG_CFLAGS := $(art_non_debug_cflags)
973b6baaa203fa63f1522b2172a1645f90412afdaeElliott HughesART_TARGET_NON_DEBUG_CFLAGS := $(art_non_debug_cflags)
983b6baaa203fa63f1522b2172a1645f90412afdaeElliott Hughes
998692721dd8a3679ca874c3d1be0cecb62ff148f6Brian Carlstrom# TODO: move -fkeep-inline-functions to art_debug_cflags when target gcc > 4.4
1001ba271478b17b25ca634563fc915fb6263efd492Elliott HughesART_HOST_DEBUG_CFLAGS := $(art_debug_cflags) -fkeep-inline-functions
101ad6c9c3dbf7541340f22ccbb333f08556ad7e000Elliott Hughes
102ad6c9c3dbf7541340f22ccbb333f08556ad7e000Elliott Hughesifneq ($(HOST_OS),linux)
103ad6c9c3dbf7541340f22ccbb333f08556ad7e000Elliott Hughes  # Some Mac OS pthread header files are broken with -fkeep-inline-functions.
10434cf51471a40d55dd63897daf855fec8179b0f7fElliott Hughes  ART_HOST_DEBUG_CFLAGS := $(filter-out -fkeep-inline-functions,$(ART_HOST_DEBUG_CFLAGS))
105ad6c9c3dbf7541340f22ccbb333f08556ad7e000Elliott Hughesendif
106ad6c9c3dbf7541340f22ccbb333f08556ad7e000Elliott Hughes
1078692721dd8a3679ca874c3d1be0cecb62ff148f6Brian CarlstromART_TARGET_DEBUG_CFLAGS := $(art_debug_cflags)
1081d3f114124b140629a7d22fa5cfa20ab8fc96934Elliott Hughes
10969b15fb098162f19a4c20e6dccdcead04d9c77f0Brian CarlstromDEX2OAT_SRC_FILES := \
11069b15fb098162f19a4c20e6dccdcead04d9c77f0Brian Carlstrom	src/dex2oat.cc
11169b15fb098162f19a4c20e6dccdcead04d9c77f0Brian Carlstrom
11278128a63b2615744760b7f8ab83df9764a5d4a95Brian CarlstromOATDUMP_SRC_FILES := \
1133a5c1ce3f11805a3382046f699c8fb1410a602b3Ian Rogers	src/oatdump.cc \
1143a5c1ce3f11805a3382046f699c8fb1410a602b3Ian Rogers	src/disassembler.cc \
1153a5c1ce3f11805a3382046f699c8fb1410a602b3Ian Rogers	src/disassembler_arm.cc
11678128a63b2615744760b7f8ab83df9764a5d4a95Brian Carlstrom
11769b15fb098162f19a4c20e6dccdcead04d9c77f0Brian CarlstromOATEXEC_SRC_FILES := \
11869b15fb098162f19a4c20e6dccdcead04d9c77f0Brian Carlstrom	src/oatexec.cc
1199bf84fd5b69f17ad3e3dca37aa021bdc4246259eCarl Shapiro
120934486cf07c578b6494417ca5dcbae89cf04b019Brian CarlstromLIBART_COMMON_SRC_FILES := \
121a5d5cfda6239d8876937e75eba43222f639d2447Carl Shapiro	src/assembler.cc \
1222c8f653c98d658419f464b6147c10e11a664d2e6Ian Rogers	src/assembler_arm.cc \
1232c8f653c98d658419f464b6147c10e11a664d2e6Ian Rogers	src/assembler_x86.cc \
1245ea047b386c5dac78eda62305d14dedf7b5611a8Elliott Hughes	src/atomic.cc.arm \
125b033c75ebda80ac75f936366fe78d1edf5cec937Ian Rogers	src/calling_convention.cc \
1262c8f653c98d658419f464b6147c10e11a664d2e6Ian Rogers	src/calling_convention_arm.cc \
1272c8f653c98d658419f464b6147c10e11a664d2e6Ian Rogers	src/calling_convention_x86.cc \
1285d76c435082332ef79a22962386fa92a0870e378Ian Rogers	src/card_table.cc \
129c8b306f5221658c7e4b5516be8917dc8c9288e7eIan Rogers	src/constants.cc \
130bdb0391258abc54bf77c676e36847d28a783bfe5Ian Rogers	src/context.cc \
13185d1545e985ac689db4bad7849880e843707c862Elliott Hughes	src/context_arm.cc.arm \
13285d1545e985ac689db4bad7849880e843707c862Elliott Hughes	src/context_x86.cc \
133a2501990dd0f68baf38ce19251949d7bb3ecfe5aElliott Hughes	src/check_jni.cc \
1340e5d75d5ca2b8a44fab0c862276a466cbab39859Carl Shapiro	src/class_linker.cc \
1351f87008b165d26541d832ff805250afdc89c253dBrian Carlstrom	src/class_loader.cc \
1363320cf46afd082398aa401b246e6f301cebdf64dBrian Carlstrom	src/compiled_method.cc \
1379ea1cb1a22be5b85dc2622e3836c46a1c48e3f25Brian Carlstrom	src/compiler.cc \
138f91c8c328c922ecd522e1d3508d2603e78de8a7bBrian Carlstrom	src/dalvik_system_DexFile.cc \
13901158d7a57c8321370667a6045220237d16e0da8Elliott Hughes	src/dalvik_system_VMDebug.cc \
1407ede61eceed2f8da14a4fff05c57c748c160d57fElliott Hughes	src/dalvik_system_VMRuntime.cc \
1418daa0929f08a3080ea64dbd4e997e72f411e6fc9Elliott Hughes	src/dalvik_system_VMStack.cc \
14201158d7a57c8321370667a6045220237d16e0da8Elliott Hughes	src/dalvik_system_Zygote.cc \
143872d4ec7225444d9400d30f9027247deb91012fdElliott Hughes	src/debugger.cc \
1447e49dca262933bc30cbc8b9f07cfc8cce2343389Brian Carlstrom	src/dex_cache.cc \
1451fb8620309a4e94d11879aabc33364acfa733904Carl Shapiro	src/dex_file.cc \
14610037c866b04550fc5461058c398c2e3e509381ajeffhao	src/dex_file_verifier.cc \
14712eb78e651f13f2c1f0c2c922048a5a213253adfCarl Shapiro	src/dex_instruction.cc \
1480e5d75d5ca2b8a44fab0c862276a466cbab39859Carl Shapiro	src/dex_verifier.cc \
14930fab40ee5a07af6b8c3b6b0e9438071695a57f4Ian Rogers	src/dlmalloc.c \
150db4d54081f09abcbe97ffdf615874f2809a9e777Brian Carlstrom	src/file.cc \
151db4d54081f09abcbe97ffdf615874f2809a9e777Brian Carlstrom	src/file_linux.cc \
15269759eaa6fd4386f1e6d8748052ad221087b3476Carl Shapiro	src/heap.cc \
1535e71b52a6f2c16fd02b389d220e60808cbc8f74aElliott Hughes	src/heap_bitmap.cc \
154c4824e60fef6cb9fdf0f8442408338f4141e09deJesse Wilson	src/hprof/hprof.cc \
1550c54ac102a3c489d284a8db5d91189da5b455c40Jesse Wilson	src/hprof/hprof_record.cc \
1564a289ed61242964b921434de7d375f46480472a1Brian Carlstrom	src/image.cc \
157db4d54081f09abcbe97ffdf615874f2809a9e777Brian Carlstrom	src/image_writer.cc \
1586c1a394b47c85c8d1723fc3b156a3b1b0b29a757Elliott Hughes	src/indirect_reference_table.cc \
1597e93b50433cde2a44d99212e8040299bde498546Brian Carlstrom	src/intern_table.cc \
160d369bb76dee0df2d2a106e9bf7f4e6446ed6deaaElliott Hughes	src/java_lang_Class.cc \
161bf86d0438e9ef9c145ebcf16a2e74c4efaa2686aElliott Hughes	src/java_lang_Object.cc \
162bf86d0438e9ef9c145ebcf16a2e74c4efaa2686aElliott Hughes	src/java_lang_Runtime.cc \
163bf86d0438e9ef9c145ebcf16a2e74c4efaa2686aElliott Hughes	src/java_lang_String.cc \
164bf86d0438e9ef9c145ebcf16a2e74c4efaa2686aElliott Hughes	src/java_lang_System.cc \
1658daa0929f08a3080ea64dbd4e997e72f411e6fc9Elliott Hughes	src/java_lang_Thread.cc \
1661240dade91d6c4bbf4e367ca608fcdc15348da45Elliott Hughes	src/java_lang_Throwable.cc \
16764bf5a33d55aa779ef452552a466943002d39e4fElliott Hughes	src/java_lang_VMClassLoader.cc \
1685b8e4c810a97c9dc417142b8c6e07871ae15c797Brian Carlstrom	src/java_lang_reflect_Array.cc \
1692a20cfd0b7fc81099f5de0da782ebcc1cb262792Elliott Hughes	src/java_lang_reflect_Constructor.cc \
170f867b6f706818c886087f61b89d1e8f5fc4653cfBrian Carlstrom	src/java_lang_reflect_Field.cc \
171f867b6f706818c886087f61b89d1e8f5fc4653cfBrian Carlstrom	src/java_lang_reflect_Method.cc \
17295caa791e560da97363c0c0d22bfda4a7e7377c3Jesse Wilson	src/java_lang_reflect_Proxy.cc \
173bf86d0438e9ef9c145ebcf16a2e74c4efaa2686aElliott Hughes	src/java_util_concurrent_atomic_AtomicLong.cc \
174872d4ec7225444d9400d30f9027247deb91012fdElliott Hughes	src/jdwp/jdwp_constants.cc \
175872d4ec7225444d9400d30f9027247deb91012fdElliott Hughes	src/jdwp/jdwp_event.cc \
176872d4ec7225444d9400d30f9027247deb91012fdElliott Hughes	src/jdwp/jdwp_expand_buf.cc \
177872d4ec7225444d9400d30f9027247deb91012fdElliott Hughes	src/jdwp/jdwp_handler.cc \
178872d4ec7225444d9400d30f9027247deb91012fdElliott Hughes	src/jdwp/jdwp_main.cc \
179872d4ec7225444d9400d30f9027247deb91012fdElliott Hughes	src/jdwp/jdwp_socket.cc \
180b033c75ebda80ac75f936366fe78d1edf5cec937Ian Rogers	src/jni_compiler.cc \
181df20fe0c097073f75f22d16e72fd3636a31d3ca1Ian Rogers	src/jni_internal.cc \
18242ee14279065352a4b9a3e8028d02c567e847d05Elliott Hughes	src/logging.cc \
18369759eaa6fd4386f1e6d8748052ad221087b3476Carl Shapiro	src/mark_stack.cc \
18469759eaa6fd4386f1e6d8748052ad221087b3476Carl Shapiro	src/mark_sweep.cc \
1852c8f653c98d658419f464b6147c10e11a664d2e6Ian Rogers	src/managed_register_arm.cc \
1862c8f653c98d658419f464b6147c10e11a664d2e6Ian Rogers	src/managed_register_x86.cc \
18727ec961a1da540ba7f16c07a682585ab167317adBrian Carlstrom	src/mem_map.cc \
1881fb8620309a4e94d11879aabc33364acfa733904Carl Shapiro	src/memory_region.cc \
18954e7df1896a4066cbb9fe6f72249829f0b8c49c6Elliott Hughes	src/monitor.cc \
1908daa0929f08a3080ea64dbd4e997e72f411e6fc9Elliott Hughes	src/mutex.cc \
191e24fa61603a60ade3797e4a0c8b3fccb346cb048Brian Carlstrom	src/oat.cc \
192e24fa61603a60ade3797e4a0c8b3fccb346cb048Brian Carlstrom	src/oat_file.cc \
193e24fa61603a60ade3797e4a0c8b3fccb346cb048Brian Carlstrom	src/oat_writer.cc \
1943ee755da5c1c17b6a29052d171a8a63c0eb0b052Carl Shapiro	src/object.cc \
19569759eaa6fd4386f1e6d8748052ad221087b3476Carl Shapiro	src/offsets.cc \
196395520eaa47eca25b92e86188accf3095d60af49Brian Carlstrom	src/org_apache_harmony_dalvik_ddmc_DdmServer.cc \
197f6a1e1e44b94221c4e6b063b36921c712a33910bElliott Hughes	src/org_apache_harmony_dalvik_ddmc_DdmVmInternal.cc \
198db4d54081f09abcbe97ffdf615874f2809a9e777Brian Carlstrom	src/os_linux.cc \
199ae826983f7903bc0a6bbbe8426bf393fb2f6d747Brian Carlstrom	src/primitive.cc \
20011e45077acba2e757799a00b3be9d63fec36a7ccElliott Hughes	src/reference_table.cc \
201418d20fc407052d4152157f61e7453359f902383Elliott Hughes	src/reflection.cc \
202d4e48fdd5f8baad270a82120a912106b98074501Carl Shapiro	src/runtime.cc \
203a8a9c3490776ab897a15bebd31119c94ede5c19aShih-wei Liao	src/runtime_support.cc \
204e27955ca3ca960928d4dbd6cb79711fce06950b3Elliott Hughes	src/signal_catcher.cc \
20569759eaa6fd4386f1e6d8748052ad221087b3476Carl Shapiro	src/space.cc \
20668e76526e98432625464022cb26f66b9ef6f5af4Elliott Hughes	src/stack.cc \
207b557353b22c728eecbd1c68593b482622c7782a8Carl Shapiro	src/stringpiece.cc \
208eb4f614f2eb53b92ebd416fa418f550861655887Elliott Hughes	src/stringprintf.cc \
20931384c59bb4b387f29f2b6d4d3db886c29b81170Shih-wei Liao	src/stub_arm.cc \
21031384c59bb4b387f29f2b6d4d3db886c29b81170Shih-wei Liao	src/stub_x86.cc \
2115ee7a8b56dee896245e0f4ae5215f8b7376c1787Elliott Hughes	src/sun_misc_Unsafe.cc \
212b0460eaa2cb131f1dbdd5a7217bd36b9a9f1b995Brian Carlstrom	src/thread.cc \
2138daa0929f08a3080ea64dbd4e997e72f411e6fc9Elliott Hughes	src/thread_list.cc \
214e343b76af81a005ef64f5e75a555389fd9147dabjeffhao	src/trace.cc \
215814e40397fe6c8a2c645bae99f356dbddd6dbe18Elliott Hughes	src/utf.cc \
21611e45077acba2e757799a00b3be9d63fec36a7ccElliott Hughes	src/utils.cc \
2175c9f0b4d3933cdf6c3897dead3f77b16515b401cElliott Hughes	src/zip_archive.cc
218a5d5cfda6239d8876937e75eba43222f639d2447Carl Shapiro
219d1fec81868a3567560a3868350e0a945248e925bShih-wei Liaoifeq ($(ART_USE_LLVM_COMPILER),true)
220d1fec81868a3567560a3868350e0a945248e925bShih-wei LiaoLIBART_COMMON_SRC_FILES += \
2218b977d38483aaa08abcbdaa5fa888076c1142169Logan Chien	src/compiler_llvm/compilation_unit.cc \
222d1fec81868a3567560a3868350e0a945248e925bShih-wei Liao	src/compiler_llvm/compiler_llvm.cc \
223c670a8df21d1f047fcc2c7f90701a7f65e9cff6eLogan Chien	src/compiler_llvm/dalvik_reg.cc \
224d1fec81868a3567560a3868350e0a945248e925bShih-wei Liao	src/compiler_llvm/frontend.cc \
225e75a8cc8c34c055181ac3f9dfbe33461ea90c37aLogan Chien	src/compiler_llvm/generated/art_module.cc \
226fca7e87c4831ac52073bdd0b2c7342488ce286d8Logan Chien	src/compiler_llvm/inferred_reg_category_map.cc \
227e75a8cc8c34c055181ac3f9dfbe33461ea90c37aLogan Chien	src/compiler_llvm/ir_builder.cc \
22888894ee835411de72025cd8a5d8d111a6f2a004aLogan Chien	src/compiler_llvm/jni_compiler.cc \
2297e6e33d45f96ca36803455f158d02fd1f5c21a1aLogan Chien	src/compiler_llvm/method_compiler.cc \
230a8a9c3490776ab897a15bebd31119c94ede5c19aShih-wei Liao	src/compiler_llvm/runtime_support_llvm.cc \
231f04364f0ff789935d05490ee684f01c3de431780Logan Chien	src/compiler_llvm/upcall_compiler.cc \
2327e6e33d45f96ca36803455f158d02fd1f5c21a1aLogan Chien	src/compiler_llvm/utils_llvm.cc
233d1fec81868a3567560a3868350e0a945248e925bShih-wei Liaoelse
234d1fec81868a3567560a3868350e0a945248e925bShih-wei LiaoLIBART_COMMON_SRC_FILES += \
235d1fec81868a3567560a3868350e0a945248e925bShih-wei Liao	src/compiler/Dataflow.cc \
236d1fec81868a3567560a3868350e0a945248e925bShih-wei Liao	src/compiler/Frontend.cc \
237d1fec81868a3567560a3868350e0a945248e925bShih-wei Liao	src/compiler/IntermediateRep.cc \
238d1fec81868a3567560a3868350e0a945248e925bShih-wei Liao	src/compiler/Ralloc.cc \
239d1fec81868a3567560a3868350e0a945248e925bShih-wei Liao	src/compiler/SSATransformation.cc \
240d1fec81868a3567560a3868350e0a945248e925bShih-wei Liao	src/compiler/Utility.cc \
241d1fec81868a3567560a3868350e0a945248e925bShih-wei Liao	src/compiler/codegen/RallocUtil.cc \
24231a4a6f5717f645da6b97ccc1e420ae1e1c71ce0buzbee	src/jni_internal_arm.cc \
24331a4a6f5717f645da6b97ccc1e420ae1e1c71ce0buzbee	src/jni_internal_x86.cc
24431a4a6f5717f645da6b97ccc1e420ae1e1c71ce0buzbeeifeq ($(ART_MIPS_TARGET),true)
24531a4a6f5717f645da6b97ccc1e420ae1e1c71ce0buzbeeLIBART_COMMON_SRC_FILES += \
24631a4a6f5717f645da6b97ccc1e420ae1e1c71ce0buzbee	src/compiler/codegen/mips/ArchUtility.cc \
24731a4a6f5717f645da6b97ccc1e420ae1e1c71ce0buzbee	src/compiler/codegen/mips/MipsRallocUtil.cc \
24831a4a6f5717f645da6b97ccc1e420ae1e1c71ce0buzbee	src/compiler/codegen/mips/Assemble.cc \
24931a4a6f5717f645da6b97ccc1e420ae1e1c71ce0buzbee	src/compiler/codegen/mips/mips/Codegen.cc
25031a4a6f5717f645da6b97ccc1e420ae1e1c71ce0buzbeeelse
25131a4a6f5717f645da6b97ccc1e420ae1e1c71ce0buzbeeLIBART_COMMON_SRC_FILES += \
252d1fec81868a3567560a3868350e0a945248e925bShih-wei Liao	src/compiler/codegen/arm/ArchUtility.cc \
253d1fec81868a3567560a3868350e0a945248e925bShih-wei Liao	src/compiler/codegen/arm/ArmRallocUtil.cc \
254d1fec81868a3567560a3868350e0a945248e925bShih-wei Liao	src/compiler/codegen/arm/Assemble.cc \
25531a4a6f5717f645da6b97ccc1e420ae1e1c71ce0buzbee	src/compiler/codegen/arm/armv7-a/Codegen.cc
25631a4a6f5717f645da6b97ccc1e420ae1e1c71ce0buzbeeendif
257d1fec81868a3567560a3868350e0a945248e925bShih-wei Liaoendif
258d1fec81868a3567560a3868350e0a945248e925bShih-wei Liao
259934486cf07c578b6494417ca5dcbae89cf04b019Brian CarlstromLIBART_TARGET_SRC_FILES := \
260934486cf07c578b6494417ca5dcbae89cf04b019Brian Carlstrom	$(LIBART_COMMON_SRC_FILES) \
261872d4ec7225444d9400d30f9027247deb91012fdElliott Hughes	src/jdwp/jdwp_adb.cc \
262ffe6736397d17457188727510f0a2953f69a383aElliott Hughes	src/logging_android.cc \
263fc86162ce2a3467acb690e18cc8bd9b3daafc606Elliott Hughes	src/monitor_android.cc \
264b033c75ebda80ac75f936366fe78d1edf5cec937Ian Rogers	src/runtime_android.cc \
2658daa0929f08a3080ea64dbd4e997e72f411e6fc9Elliott Hughes	src/thread_android.cc \
2665c9f0b4d3933cdf6c3897dead3f77b16515b401cElliott Hughes	src/thread_arm.cc \
2675c9f0b4d3933cdf6c3897dead3f77b16515b401cElliott Hughes	src/runtime_support_arm.S
268a5d5cfda6239d8876937e75eba43222f639d2447Carl Shapiro
269934486cf07c578b6494417ca5dcbae89cf04b019Brian CarlstromLIBART_HOST_SRC_FILES := \
270934486cf07c578b6494417ca5dcbae89cf04b019Brian Carlstrom	$(LIBART_COMMON_SRC_FILES) \
271ffe6736397d17457188727510f0a2953f69a383aElliott Hughes	src/logging_linux.cc \
272fc86162ce2a3467acb690e18cc8bd9b3daafc606Elliott Hughes	src/monitor_linux.cc \
273b033c75ebda80ac75f936366fe78d1edf5cec937Ian Rogers	src/runtime_linux.cc \
2748daa0929f08a3080ea64dbd4e997e72f411e6fc9Elliott Hughes	src/thread_linux.cc \
2755c9f0b4d3933cdf6c3897dead3f77b16515b401cElliott Hughes	src/thread_x86.cc \
2765c9f0b4d3933cdf6c3897dead3f77b16515b401cElliott Hughes	src/runtime_support_x86.S
277c981ace51da03ca6a9cd100c2c4d6c9bf6100138Jesse Wilson
278cdc8de4642ca447a7ed205f0d2203cb217e48aadBrian CarlstromLIBARTTEST_COMMON_SRC_FILES := \
279a6af3c35cd671014b68ffae3137559ffdcf6475fShih-wei Liao	test/StackWalk/stack_walk_jni.cc \
280a6af3c35cd671014b68ffae3137559ffdcf6475fShih-wei Liao	test/ReferenceMap/stack_walk_refmap_jni.cc
281cdc8de4642ca447a7ed205f0d2203cb217e48aadBrian Carlstrom
282934486cf07c578b6494417ca5dcbae89cf04b019Brian CarlstromTEST_COMMON_SRC_FILES := \
2830e5d75d5ca2b8a44fab0c862276a466cbab39859Carl Shapiro	src/class_linker_test.cc \
284aded5f7ab991f3c1132851599d3bc60ff6707eedBrian Carlstrom	src/compiler_test.cc \
2857e49dca262933bc30cbc8b9f07cfc8cce2343389Brian Carlstrom	src/dex_cache_test.cc \
2861fb8620309a4e94d11879aabc33364acfa733904Carl Shapiro	src/dex_file_test.cc \
2871fb8620309a4e94d11879aabc33364acfa733904Carl Shapiro	src/dex_instruction_visitor_test.cc \
288ba5ebb944b7c5c6a1b754b6dd47eed96f39aea29jeffhao	src/dex_verifier_test.cc \
2892fb9753c58ce1a511fd6996856840120eb2930dbShih-wei Liao	src/exception_test.cc \
290db4d54081f09abcbe97ffdf615874f2809a9e777Brian Carlstrom	src/file_test.cc \
2911f87008b165d26541d832ff805250afdc89c253dBrian Carlstrom	src/heap_test.cc \
292db4d54081f09abcbe97ffdf615874f2809a9e777Brian Carlstrom	src/image_test.cc \
2936c1a394b47c85c8d1723fc3b156a3b1b0b29a757Elliott Hughes	src/indirect_reference_table_test.cc \
2947e93b50433cde2a44d99212e8040299bde498546Brian Carlstrom	src/intern_table_test.cc \
295cd2764fda5dc4eeccb0c66fcc06eb91f70b98e24Ian Rogers	src/jni_internal_test.cc \
296cd2764fda5dc4eeccb0c66fcc06eb91f70b98e24Ian Rogers	src/jni_compiler_test.cc \
2972c8f653c98d658419f464b6147c10e11a664d2e6Ian Rogers	src/managed_register_arm_test.cc \
2982c8f653c98d658419f464b6147c10e11a664d2e6Ian Rogers	src/managed_register_x86_test.cc \
299cd74c4b3a6893c876c6e03fd99a1264249653d80Brian Carlstrom	src/mutex_test.cc \
300e24fa61603a60ade3797e4a0c8b3fccb346cb048Brian Carlstrom	src/oat_test.cc \
301894d0fab562badca5c2f01a5c2adc8de756c08adCarl Shapiro	src/object_test.cc \
30211e45077acba2e757799a00b3be9d63fec36a7ccElliott Hughes	src/reference_table_test.cc \
303fc322c72d7a89a6f7a05c8bdc232d780aecd9232Carl Shapiro	src/runtime_test.cc \
304b0460eaa2cb131f1dbdd5a7217bd36b9a9f1b995Brian Carlstrom	src/space_test.cc \
30511e45077acba2e757799a00b3be9d63fec36a7ccElliott Hughes	src/utils_test.cc \
306aded5f7ab991f3c1132851599d3bc60ff6707eedBrian Carlstrom	src/zip_archive_test.cc
307008e41230a702ddb4c558fca95af5d84d56b51cbCarl Shapiro
3087e6e33d45f96ca36803455f158d02fd1f5c21a1aLogan Chienifeq ($(ART_USE_LLVM_COMPILER),true)
3097e6e33d45f96ca36803455f158d02fd1f5c21a1aLogan ChienTEST_COMMON_SRC_FILES += \
3107e6e33d45f96ca36803455f158d02fd1f5c21a1aLogan Chien	src/compiler_llvm/utils_llvm_test.cc
3117e6e33d45f96ca36803455f158d02fd1f5c21a1aLogan Chienendif
3127e6e33d45f96ca36803455f158d02fd1f5c21a1aLogan Chien
313934486cf07c578b6494417ca5dcbae89cf04b019Brian CarlstromTEST_TARGET_SRC_FILES := \
3142c8f653c98d658419f464b6147c10e11a664d2e6Ian Rogers	$(TEST_COMMON_SRC_FILES)
315c981ace51da03ca6a9cd100c2c4d6c9bf6100138Jesse Wilson
316934486cf07c578b6494417ca5dcbae89cf04b019Brian CarlstromTEST_HOST_SRC_FILES := \
317934486cf07c578b6494417ca5dcbae89cf04b019Brian Carlstrom	$(TEST_COMMON_SRC_FILES) \
3182c8f653c98d658419f464b6147c10e11a664d2e6Ian Rogers	src/assembler_x86_test.cc
3199f30b38d74990286ce27c3a45368f73dbe3638f0Brian Carlstrom
32032b4b2a30636360756058524f8491ee4cd81c423Brian Carlstrom# subdirectories of test/ which are used as inputs for gtests
3219f30b38d74990286ce27c3a45368f73dbe3638f0Brian CarlstromTEST_DEX_DIRECTORIES := \
322303b01ed0d36017371e29b1f1e209dd19896ac9eShih-wei Liao	AbstractMethod \
3239f30b38d74990286ce27c3a45368f73dbe3638f0Brian Carlstrom	AllFields \
3240571d357843c53e042f370f5f2c2e9aa3fe803a9Ian Rogers	CreateMethodSignature \
32533f741eefef8f8012f6c190b39355f2e0430d535Brian Carlstrom	ExceptionHandle \
3269f30b38d74990286ce27c3a45368f73dbe3638f0Brian Carlstrom	IntMath \
3279f30b38d74990286ce27c3a45368f73dbe3638f0Brian Carlstrom	Interfaces \
3289f30b38d74990286ce27c3a45368f73dbe3638f0Brian Carlstrom	Main \
3299f30b38d74990286ce27c3a45368f73dbe3638f0Brian Carlstrom	MyClass \
3309f30b38d74990286ce27c3a45368f73dbe3638f0Brian Carlstrom	MyClassNatives \
3319f30b38d74990286ce27c3a45368f73dbe3638f0Brian Carlstrom	Nested \
3329f30b38d74990286ce27c3a45368f73dbe3638f0Brian Carlstrom	ProtoCompare \
3339f30b38d74990286ce27c3a45368f73dbe3638f0Brian Carlstrom	ProtoCompare2 \
3349f30b38d74990286ce27c3a45368f73dbe3638f0Brian Carlstrom	StaticLeafMethods \
3359f30b38d74990286ce27c3a45368f73dbe3638f0Brian Carlstrom	Statics \
336abcfde3b9661618a88e170fac6fdf092a59eb993jeffhao	StaticsFromCode \
3379f30b38d74990286ce27c3a45368f73dbe3638f0Brian Carlstrom	XandY
3384b620ffb1b4d0c96a94bb3afe314f35d53990ec6Brian Carlstrom
33932b4b2a30636360756058524f8491ee4cd81c423Brian Carlstrom# subdirectories of test/ which are used with test-art-target-oat
34032b4b2a30636360756058524f8491ee4cd81c423Brian Carlstrom# Declare the simplest tests (Main, HelloWorld, and Fibonacci) first, the rest are alphabetical
34132b4b2a30636360756058524f8491ee4cd81c423Brian CarlstromTEST_OAT_DIRECTORIES := \
34232b4b2a30636360756058524f8491ee4cd81c423Brian Carlstrom	Main \
34332b4b2a30636360756058524f8491ee4cd81c423Brian Carlstrom	HelloWorld \
34432b4b2a30636360756058524f8491ee4cd81c423Brian Carlstrom	Fibonacci \
34532b4b2a30636360756058524f8491ee4cd81c423Brian Carlstrom	\
34632b4b2a30636360756058524f8491ee4cd81c423Brian Carlstrom	ExceptionTest \
34732b4b2a30636360756058524f8491ee4cd81c423Brian Carlstrom	GrowthLimit \
34832b4b2a30636360756058524f8491ee4cd81c423Brian Carlstrom	IntMath \
34932b4b2a30636360756058524f8491ee4cd81c423Brian Carlstrom	Invoke \
35032b4b2a30636360756058524f8491ee4cd81c423Brian Carlstrom	MemUsage \
35132b4b2a30636360756058524f8491ee4cd81c423Brian Carlstrom	ParallelGC \
35232b4b2a30636360756058524f8491ee4cd81c423Brian Carlstrom	ReferenceMap \
35332b4b2a30636360756058524f8491ee4cd81c423Brian Carlstrom	ReflectionTest \
35432b4b2a30636360756058524f8491ee4cd81c423Brian Carlstrom	StackWalk \
35532b4b2a30636360756058524f8491ee4cd81c423Brian Carlstrom	ThreadStress
35632b4b2a30636360756058524f8491ee4cd81c423Brian Carlstrom
35732b4b2a30636360756058524f8491ee4cd81c423Brian Carlstrom# TODO: Enable when the StackWalk2 tests are passing
35832b4b2a30636360756058524f8491ee4cd81c423Brian Carlstrom#	StackWalk2 \
35932b4b2a30636360756058524f8491ee4cd81c423Brian Carlstrom
3604b620ffb1b4d0c96a94bb3afe314f35d53990ec6Brian CarlstromART_BUILD_TARGET := false
3614b620ffb1b4d0c96a94bb3afe314f35d53990ec6Brian CarlstromART_BUILD_HOST := false
3624b620ffb1b4d0c96a94bb3afe314f35d53990ec6Brian Carlstromifeq ($(ART_BUILD_TARGET_NDEBUG),true)
3634b620ffb1b4d0c96a94bb3afe314f35d53990ec6Brian Carlstrom  ART_BUILD_TARGET := true
3644b620ffb1b4d0c96a94bb3afe314f35d53990ec6Brian Carlstromendif
3654b620ffb1b4d0c96a94bb3afe314f35d53990ec6Brian Carlstromifeq ($(ART_BUILD_TARGET_DEBUG),true)
3664b620ffb1b4d0c96a94bb3afe314f35d53990ec6Brian Carlstrom  ART_BUILD_TARGET := true
3674b620ffb1b4d0c96a94bb3afe314f35d53990ec6Brian Carlstromendif
3684b620ffb1b4d0c96a94bb3afe314f35d53990ec6Brian Carlstromifeq ($(ART_BUILD_HOST_NDEBUG),true)
3694b620ffb1b4d0c96a94bb3afe314f35d53990ec6Brian Carlstrom  ART_BUILD_HOST := true
3704b620ffb1b4d0c96a94bb3afe314f35d53990ec6Brian Carlstromendif
3714b620ffb1b4d0c96a94bb3afe314f35d53990ec6Brian Carlstromifeq ($(ART_BUILD_HOST_DEBUG),true)
3724b620ffb1b4d0c96a94bb3afe314f35d53990ec6Brian Carlstrom  ART_BUILD_HOST := true
3734b620ffb1b4d0c96a94bb3afe314f35d53990ec6Brian Carlstromendif
374