Android.common.mk revision 460384f04f933f94546db7bfbfa02896b9e77962
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
17b3bd5f07884f5a1f2b84224363b1372d7c28d447Elliott Hughes# TODO: move the LLVM compiler out into a separate .so too...
18d1fec81868a3567560a3868350e0a945248e925bShih-wei Liao# Use llvm as the backend
19d1fec81868a3567560a3868350e0a945248e925bShih-wei Liaoifneq ($(wildcard art/USE_LLVM_COMPILER),)
20d1fec81868a3567560a3868350e0a945248e925bShih-wei LiaoART_USE_LLVM_COMPILER := true
21d1fec81868a3567560a3868350e0a945248e925bShih-wei Liaoelse
22d1fec81868a3567560a3868350e0a945248e925bShih-wei LiaoART_USE_LLVM_COMPILER := false
23d1fec81868a3567560a3868350e0a945248e925bShih-wei Liaoendif
24d1fec81868a3567560a3868350e0a945248e925bShih-wei Liao
25d1fec81868a3567560a3868350e0a945248e925bShih-wei Liaoifeq ($(ART_USE_LLVM_COMPILER),true)
26d1fec81868a3567560a3868350e0a945248e925bShih-wei LiaoLLVM_ROOT_PATH := external/llvm
27d1fec81868a3567560a3868350e0a945248e925bShih-wei Liaoinclude $(LLVM_ROOT_PATH)/llvm.mk
28d1fec81868a3567560a3868350e0a945248e925bShih-wei Liaoendif
29d1fec81868a3567560a3868350e0a945248e925bShih-wei Liao
3032b4b2a30636360756058524f8491ee4cd81c423Brian Carlstrom# directory used for gtests on device
3132b4b2a30636360756058524f8491ee4cd81c423Brian CarlstromART_NATIVETEST_DIR := /data/nativetest/art
3232b4b2a30636360756058524f8491ee4cd81c423Brian CarlstromART_NATIVETEST_OUT := $(TARGET_OUT_DATA_NATIVE_TESTS)/art
3332b4b2a30636360756058524f8491ee4cd81c423Brian Carlstrom
3447a0d5a6f221066c3daf7f67f2122ed9c9cd217cBrian Carlstrom# directory used for tests on device
3547a0d5a6f221066c3daf7f67f2122ed9c9cd217cBrian CarlstromART_TEST_DIR := /data/art-test
3647a0d5a6f221066c3daf7f67f2122ed9c9cd217cBrian CarlstromART_TEST_OUT := $(TARGET_OUT_DATA)/art-test
3747a0d5a6f221066c3daf7f67f2122ed9c9cd217cBrian Carlstrom
38cdc8de4642ca447a7ed205f0d2203cb217e48aadBrian CarlstromART_CPP_EXTENSION := .cc
399bf84fd5b69f17ad3e3dca37aa021bdc4246259eCarl Shapiro
400af5543f8ea20c3e655b2d748a1b7dcf283792feElliott HughesART_C_INCLUDES := \
410af5543f8ea20c3e655b2d748a1b7dcf283792feElliott Hughes	external/gtest/include \
420af5543f8ea20c3e655b2d748a1b7dcf283792feElliott Hughes	external/icu4c/common \
430af5543f8ea20c3e655b2d748a1b7dcf283792feElliott Hughes	external/icu4c/i18n \
448d768a954b101a9532f980253ac46be2c53aba11Elliott Hughes	external/valgrind/dynamic_annotations \
45c143c55718342519db5398e41dda31422cf16c79buzbee	external/zlib \
46adb8c67f6d87a160d4e3a8afea7cb93f6c14568bElliott Hughes	art/src
47b0460eaa2cb131f1dbdd5a7217bd36b9a9f1b995Brian Carlstrom
481d3f114124b140629a7d22fa5cfa20ab8fc96934Elliott Hughesart_cflags := \
49646c3d7b965122bc88706307704d6d50e26df758Ian Rogers	-O2 \
501fb8620309a4e94d11879aabc33364acfa733904Carl Shapiro	-ggdb3 \
511fb8620309a4e94d11879aabc33364acfa733904Carl Shapiro	-Wall \
521fb8620309a4e94d11879aabc33364acfa733904Carl Shapiro	-Werror \
531fb8620309a4e94d11879aabc33364acfa733904Carl Shapiro	-Wextra \
54eaa200d9b8a28f1a23b6ded7875d2b8fca555254Elliott Hughes	-Wstrict-aliasing=3 \
551fb8620309a4e94d11879aabc33364acfa733904Carl Shapiro	-fno-align-jumps \
561fb8620309a4e94d11879aabc33364acfa733904Carl Shapiro	-fstrict-aliasing
571fb8620309a4e94d11879aabc33364acfa733904Carl Shapiro
5869d7a6b9f87afbf6308e28c66bbcab7ff94c8049Brian Carlstromifeq ($(HOST_OS),linux)
5924782c6aa7abf396de057d7eb15035b4c594a3b4Shih-wei Liao  art_non_debug_cflags := \
603b6baaa203fa63f1522b2172a1645f90412afdaeElliott Hughes	-Wframe-larger-than=1728
6169d7a6b9f87afbf6308e28c66bbcab7ff94c8049Brian Carlstromendif
623b6baaa203fa63f1522b2172a1645f90412afdaeElliott Hughes
633b6baaa203fa63f1522b2172a1645f90412afdaeElliott Hughesart_debug_cflags := \
6406e3ad4a651c2c58dba5e865cd06d2f98462bf1dElliott Hughes	-DDYNAMIC_ANNOTATIONS_ENABLED=1 \
653b6baaa203fa63f1522b2172a1645f90412afdaeElliott Hughes	-UNDEBUG
663b6baaa203fa63f1522b2172a1645f90412afdaeElliott Hughes
671d3f114124b140629a7d22fa5cfa20ab8fc96934Elliott HughesART_HOST_CFLAGS := $(art_cflags) -DANDROID_SMP=1
681d3f114124b140629a7d22fa5cfa20ab8fc96934Elliott Hughes
691d3f114124b140629a7d22fa5cfa20ab8fc96934Elliott HughesART_TARGET_CFLAGS := $(art_cflags)
701d3f114124b140629a7d22fa5cfa20ab8fc96934Elliott Hughesifeq ($(TARGET_CPU_SMP),true)
711d3f114124b140629a7d22fa5cfa20ab8fc96934Elliott Hughes  ART_TARGET_CFLAGS += -DANDROID_SMP=1
721d3f114124b140629a7d22fa5cfa20ab8fc96934Elliott Hugheselse
731d3f114124b140629a7d22fa5cfa20ab8fc96934Elliott Hughes  ART_TARGET_CFLAGS += -DANDROID_SMP=0
741d3f114124b140629a7d22fa5cfa20ab8fc96934Elliott Hughesendif
751d3f114124b140629a7d22fa5cfa20ab8fc96934Elliott Hughes
7689521898b56f2ebc3fb68acfb6bc6dde9b6f5c38Brian Carlstrom# To use oprofile_android --callgraph, uncomment this and recompile with "mmm art -B -j16"
7789521898b56f2ebc3fb68acfb6bc6dde9b6f5c38Brian Carlstrom# ART_TARGET_CFLAGS += -fno-omit-frame-pointer -marm -mapcs
7889521898b56f2ebc3fb68acfb6bc6dde9b6f5c38Brian Carlstrom
793b6baaa203fa63f1522b2172a1645f90412afdaeElliott HughesART_HOST_NON_DEBUG_CFLAGS := $(art_non_debug_cflags)
803b6baaa203fa63f1522b2172a1645f90412afdaeElliott HughesART_TARGET_NON_DEBUG_CFLAGS := $(art_non_debug_cflags)
813b6baaa203fa63f1522b2172a1645f90412afdaeElliott Hughes
828692721dd8a3679ca874c3d1be0cecb62ff148f6Brian Carlstrom# TODO: move -fkeep-inline-functions to art_debug_cflags when target gcc > 4.4
831ba271478b17b25ca634563fc915fb6263efd492Elliott HughesART_HOST_DEBUG_CFLAGS := $(art_debug_cflags) -fkeep-inline-functions
84ad6c9c3dbf7541340f22ccbb333f08556ad7e000Elliott Hughes
85ad6c9c3dbf7541340f22ccbb333f08556ad7e000Elliott Hughesifneq ($(HOST_OS),linux)
86ad6c9c3dbf7541340f22ccbb333f08556ad7e000Elliott Hughes  # Some Mac OS pthread header files are broken with -fkeep-inline-functions.
8734cf51471a40d55dd63897daf855fec8179b0f7fElliott Hughes  ART_HOST_DEBUG_CFLAGS := $(filter-out -fkeep-inline-functions,$(ART_HOST_DEBUG_CFLAGS))
88ad6c9c3dbf7541340f22ccbb333f08556ad7e000Elliott Hughesendif
89ad6c9c3dbf7541340f22ccbb333f08556ad7e000Elliott Hughes
908692721dd8a3679ca874c3d1be0cecb62ff148f6Brian CarlstromART_TARGET_DEBUG_CFLAGS := $(art_debug_cflags)
911d3f114124b140629a7d22fa5cfa20ab8fc96934Elliott Hughes
9269b15fb098162f19a4c20e6dccdcead04d9c77f0Brian CarlstromDEX2OAT_SRC_FILES := \
9369b15fb098162f19a4c20e6dccdcead04d9c77f0Brian Carlstrom	src/dex2oat.cc
9469b15fb098162f19a4c20e6dccdcead04d9c77f0Brian Carlstrom
9578128a63b2615744760b7f8ab83df9764a5d4a95Brian CarlstromOATDUMP_SRC_FILES := \
963a5c1ce3f11805a3382046f699c8fb1410a602b3Ian Rogers	src/oatdump.cc \
973a5c1ce3f11805a3382046f699c8fb1410a602b3Ian Rogers	src/disassembler.cc \
98706a10ea53a32455c6b3ffc5e5e0e1f6f191ec2aIan Rogers	src/disassembler_arm.cc \
99706a10ea53a32455c6b3ffc5e5e0e1f6f191ec2aIan Rogers	src/disassembler_x86.cc
10078128a63b2615744760b7f8ab83df9764a5d4a95Brian Carlstrom
10169b15fb098162f19a4c20e6dccdcead04d9c77f0Brian CarlstromOATEXEC_SRC_FILES := \
10269b15fb098162f19a4c20e6dccdcead04d9c77f0Brian Carlstrom	src/oatexec.cc
1039bf84fd5b69f17ad3e3dca37aa021bdc4246259eCarl Shapiro
104934486cf07c578b6494417ca5dcbae89cf04b019Brian CarlstromLIBART_COMMON_SRC_FILES := \
1055ea047b386c5dac78eda62305d14dedf7b5611a8Elliott Hughes	src/atomic.cc.arm \
1065d76c435082332ef79a22962386fa92a0870e378Ian Rogers	src/card_table.cc \
107a2501990dd0f68baf38ce19251949d7bb3ecfe5aElliott Hughes	src/check_jni.cc \
1080e5d75d5ca2b8a44fab0c862276a466cbab39859Carl Shapiro	src/class_linker.cc \
1091f87008b165d26541d832ff805250afdc89c253dBrian Carlstrom	src/class_loader.cc \
1103320cf46afd082398aa401b246e6f301cebdf64dBrian Carlstrom	src/compiled_method.cc \
1119ea1cb1a22be5b85dc2622e3836c46a1c48e3f25Brian Carlstrom	src/compiler.cc \
112f91c8c328c922ecd522e1d3508d2603e78de8a7bBrian Carlstrom	src/dalvik_system_DexFile.cc \
11301158d7a57c8321370667a6045220237d16e0da8Elliott Hughes	src/dalvik_system_VMDebug.cc \
1147ede61eceed2f8da14a4fff05c57c748c160d57fElliott Hughes	src/dalvik_system_VMRuntime.cc \
1158daa0929f08a3080ea64dbd4e997e72f411e6fc9Elliott Hughes	src/dalvik_system_VMStack.cc \
11601158d7a57c8321370667a6045220237d16e0da8Elliott Hughes	src/dalvik_system_Zygote.cc \
117872d4ec7225444d9400d30f9027247deb91012fdElliott Hughes	src/debugger.cc \
1187e49dca262933bc30cbc8b9f07cfc8cce2343389Brian Carlstrom	src/dex_cache.cc \
1191fb8620309a4e94d11879aabc33364acfa733904Carl Shapiro	src/dex_file.cc \
12010037c866b04550fc5461058c398c2e3e509381ajeffhao	src/dex_file_verifier.cc \
12112eb78e651f13f2c1f0c2c922048a5a213253adfCarl Shapiro	src/dex_instruction.cc \
1220e5d75d5ca2b8a44fab0c862276a466cbab39859Carl Shapiro	src/dex_verifier.cc \
12330fab40ee5a07af6b8c3b6b0e9438071695a57f4Ian Rogers	src/dlmalloc.c \
124db4d54081f09abcbe97ffdf615874f2809a9e777Brian Carlstrom	src/file.cc \
125db4d54081f09abcbe97ffdf615874f2809a9e777Brian Carlstrom	src/file_linux.cc \
12669759eaa6fd4386f1e6d8748052ad221087b3476Carl Shapiro	src/heap.cc \
1275e71b52a6f2c16fd02b389d220e60808cbc8f74aElliott Hughes	src/heap_bitmap.cc \
128c4824e60fef6cb9fdf0f8442408338f4141e09deJesse Wilson	src/hprof/hprof.cc \
1290c54ac102a3c489d284a8db5d91189da5b455c40Jesse Wilson	src/hprof/hprof_record.cc \
1304a289ed61242964b921434de7d375f46480472a1Brian Carlstrom	src/image.cc \
131db4d54081f09abcbe97ffdf615874f2809a9e777Brian Carlstrom	src/image_writer.cc \
1326c1a394b47c85c8d1723fc3b156a3b1b0b29a757Elliott Hughes	src/indirect_reference_table.cc \
1337e93b50433cde2a44d99212e8040299bde498546Brian Carlstrom	src/intern_table.cc \
134d369bb76dee0df2d2a106e9bf7f4e6446ed6deaaElliott Hughes	src/java_lang_Class.cc \
135bf86d0438e9ef9c145ebcf16a2e74c4efaa2686aElliott Hughes	src/java_lang_Object.cc \
136bf86d0438e9ef9c145ebcf16a2e74c4efaa2686aElliott Hughes	src/java_lang_Runtime.cc \
137bf86d0438e9ef9c145ebcf16a2e74c4efaa2686aElliott Hughes	src/java_lang_String.cc \
138bf86d0438e9ef9c145ebcf16a2e74c4efaa2686aElliott Hughes	src/java_lang_System.cc \
1398daa0929f08a3080ea64dbd4e997e72f411e6fc9Elliott Hughes	src/java_lang_Thread.cc \
1401240dade91d6c4bbf4e367ca608fcdc15348da45Elliott Hughes	src/java_lang_Throwable.cc \
14164bf5a33d55aa779ef452552a466943002d39e4fElliott Hughes	src/java_lang_VMClassLoader.cc \
1425b8e4c810a97c9dc417142b8c6e07871ae15c797Brian Carlstrom	src/java_lang_reflect_Array.cc \
1432a20cfd0b7fc81099f5de0da782ebcc1cb262792Elliott Hughes	src/java_lang_reflect_Constructor.cc \
144f867b6f706818c886087f61b89d1e8f5fc4653cfBrian Carlstrom	src/java_lang_reflect_Field.cc \
145f867b6f706818c886087f61b89d1e8f5fc4653cfBrian Carlstrom	src/java_lang_reflect_Method.cc \
14695caa791e560da97363c0c0d22bfda4a7e7377c3Jesse Wilson	src/java_lang_reflect_Proxy.cc \
147bf86d0438e9ef9c145ebcf16a2e74c4efaa2686aElliott Hughes	src/java_util_concurrent_atomic_AtomicLong.cc \
148872d4ec7225444d9400d30f9027247deb91012fdElliott Hughes	src/jdwp/jdwp_event.cc \
149872d4ec7225444d9400d30f9027247deb91012fdElliott Hughes	src/jdwp/jdwp_expand_buf.cc \
150872d4ec7225444d9400d30f9027247deb91012fdElliott Hughes	src/jdwp/jdwp_handler.cc \
151872d4ec7225444d9400d30f9027247deb91012fdElliott Hughes	src/jdwp/jdwp_main.cc \
152872d4ec7225444d9400d30f9027247deb91012fdElliott Hughes	src/jdwp/jdwp_socket.cc \
153df20fe0c097073f75f22d16e72fd3636a31d3ca1Ian Rogers	src/jni_internal.cc \
15442ee14279065352a4b9a3e8028d02c567e847d05Elliott Hughes	src/logging.cc \
15569759eaa6fd4386f1e6d8748052ad221087b3476Carl Shapiro	src/mark_stack.cc \
15669759eaa6fd4386f1e6d8748052ad221087b3476Carl Shapiro	src/mark_sweep.cc \
15727ec961a1da540ba7f16c07a682585ab167317adBrian Carlstrom	src/mem_map.cc \
1581fb8620309a4e94d11879aabc33364acfa733904Carl Shapiro	src/memory_region.cc \
15954e7df1896a4066cbb9fe6f72249829f0b8c49c6Elliott Hughes	src/monitor.cc \
1608daa0929f08a3080ea64dbd4e997e72f411e6fc9Elliott Hughes	src/mutex.cc \
161e24fa61603a60ade3797e4a0c8b3fccb346cb048Brian Carlstrom	src/oat.cc \
162e24fa61603a60ade3797e4a0c8b3fccb346cb048Brian Carlstrom	src/oat_file.cc \
163e24fa61603a60ade3797e4a0c8b3fccb346cb048Brian Carlstrom	src/oat_writer.cc \
1643ee755da5c1c17b6a29052d171a8a63c0eb0b052Carl Shapiro	src/object.cc \
16569759eaa6fd4386f1e6d8748052ad221087b3476Carl Shapiro	src/offsets.cc \
166395520eaa47eca25b92e86188accf3095d60af49Brian Carlstrom	src/org_apache_harmony_dalvik_ddmc_DdmServer.cc \
167f6a1e1e44b94221c4e6b063b36921c712a33910bElliott Hughes	src/org_apache_harmony_dalvik_ddmc_DdmVmInternal.cc \
168db4d54081f09abcbe97ffdf615874f2809a9e777Brian Carlstrom	src/os_linux.cc \
169ae826983f7903bc0a6bbbe8426bf393fb2f6d747Brian Carlstrom	src/primitive.cc \
17011e45077acba2e757799a00b3be9d63fec36a7ccElliott Hughes	src/reference_table.cc \
171418d20fc407052d4152157f61e7453359f902383Elliott Hughes	src/reflection.cc \
172d4e48fdd5f8baad270a82120a912106b98074501Carl Shapiro	src/runtime.cc \
173a8a9c3490776ab897a15bebd31119c94ede5c19aShih-wei Liao	src/runtime_support.cc \
17488c5c355fc3d881f905564911d746b2313d5fc89Elliott Hughes	src/scoped_thread_list_lock.cc \
175e27955ca3ca960928d4dbd6cb79711fce06950b3Elliott Hughes	src/signal_catcher.cc \
17669759eaa6fd4386f1e6d8748052ad221087b3476Carl Shapiro	src/space.cc \
17768e76526e98432625464022cb26f66b9ef6f5af4Elliott Hughes	src/stack.cc \
178b557353b22c728eecbd1c68593b482622c7782a8Carl Shapiro	src/stringpiece.cc \
179eb4f614f2eb53b92ebd416fa418f550861655887Elliott Hughes	src/stringprintf.cc \
1805ee7a8b56dee896245e0f4ae5215f8b7376c1787Elliott Hughes	src/sun_misc_Unsafe.cc \
181b0460eaa2cb131f1dbdd5a7217bd36b9a9f1b995Brian Carlstrom	src/thread.cc \
1828daa0929f08a3080ea64dbd4e997e72f411e6fc9Elliott Hughes	src/thread_list.cc \
183e343b76af81a005ef64f5e75a555389fd9147dabjeffhao	src/trace.cc \
184814e40397fe6c8a2c645bae99f356dbddd6dbe18Elliott Hughes	src/utf.cc \
18511e45077acba2e757799a00b3be9d63fec36a7ccElliott Hughes	src/utils.cc \
1865c9f0b4d3933cdf6c3897dead3f77b16515b401cElliott Hughes	src/zip_archive.cc
187a5d5cfda6239d8876937e75eba43222f639d2447Carl Shapiro
188d1fec81868a3567560a3868350e0a945248e925bShih-wei Liaoifeq ($(ART_USE_LLVM_COMPILER),true)
189d1fec81868a3567560a3868350e0a945248e925bShih-wei LiaoLIBART_COMMON_SRC_FILES += \
190fca7e87c4831ac52073bdd0b2c7342488ce286d8Logan Chien	src/compiler_llvm/inferred_reg_category_map.cc \
191a8a9c3490776ab897a15bebd31119c94ede5c19aShih-wei Liao	src/compiler_llvm/runtime_support_llvm.cc \
1927e6e33d45f96ca36803455f158d02fd1f5c21a1aLogan Chien	src/compiler_llvm/utils_llvm.cc
193b1ab7df793844398c71ee18c2bd60e3bc6484d10Shih-wei Liaoendif
19457b86d47b66322693a070185fadfb43cb9c12eabIan RogersLIBART_COMMON_SRC_FILES += \
19557b86d47b66322693a070185fadfb43cb9c12eabIan Rogers	src/oat/runtime/arm/stub_arm.cc \
19657b86d47b66322693a070185fadfb43cb9c12eabIan Rogers	src/oat/runtime/context.cc \
19757b86d47b66322693a070185fadfb43cb9c12eabIan Rogers	src/oat/runtime/support_alloc.cc \
19857b86d47b66322693a070185fadfb43cb9c12eabIan Rogers	src/oat/runtime/support_cast.cc \
19957b86d47b66322693a070185fadfb43cb9c12eabIan Rogers	src/oat/runtime/support_debug.cc \
20057b86d47b66322693a070185fadfb43cb9c12eabIan Rogers	src/oat/runtime/support_dexcache.cc \
20157b86d47b66322693a070185fadfb43cb9c12eabIan Rogers	src/oat/runtime/support_field.cc \
20257b86d47b66322693a070185fadfb43cb9c12eabIan Rogers	src/oat/runtime/support_fillarray.cc \
20357b86d47b66322693a070185fadfb43cb9c12eabIan Rogers	src/oat/runtime/support_invoke.cc \
20457b86d47b66322693a070185fadfb43cb9c12eabIan Rogers	src/oat/runtime/support_jni.cc \
20557b86d47b66322693a070185fadfb43cb9c12eabIan Rogers	src/oat/runtime/support_locks.cc \
20657b86d47b66322693a070185fadfb43cb9c12eabIan Rogers	src/oat/runtime/support_math.cc \
20757b86d47b66322693a070185fadfb43cb9c12eabIan Rogers	src/oat/runtime/support_proxy.cc \
20857b86d47b66322693a070185fadfb43cb9c12eabIan Rogers	src/oat/runtime/support_stubs.cc \
20957b86d47b66322693a070185fadfb43cb9c12eabIan Rogers	src/oat/runtime/support_thread.cc \
21057b86d47b66322693a070185fadfb43cb9c12eabIan Rogers	src/oat/runtime/support_throw.cc \
21157b86d47b66322693a070185fadfb43cb9c12eabIan Rogers	src/oat/runtime/support_trace.cc \
21257b86d47b66322693a070185fadfb43cb9c12eabIan Rogers	src/oat/runtime/x86/stub_x86.cc \
21357b86d47b66322693a070185fadfb43cb9c12eabIan Rogers	src/oat/utils/arm/assembler_arm.cc \
21457b86d47b66322693a070185fadfb43cb9c12eabIan Rogers	src/oat/utils/arm/managed_register_arm.cc \
21557b86d47b66322693a070185fadfb43cb9c12eabIan Rogers	src/oat/utils/assembler.cc \
21657b86d47b66322693a070185fadfb43cb9c12eabIan Rogers	src/oat/utils/x86/assembler_x86.cc \
21757b86d47b66322693a070185fadfb43cb9c12eabIan Rogers	src/oat/utils/x86/managed_register_x86.cc
218d1fec81868a3567560a3868350e0a945248e925bShih-wei Liao
219934486cf07c578b6494417ca5dcbae89cf04b019Brian CarlstromLIBART_TARGET_SRC_FILES := \
220934486cf07c578b6494417ca5dcbae89cf04b019Brian Carlstrom	$(LIBART_COMMON_SRC_FILES) \
221872d4ec7225444d9400d30f9027247deb91012fdElliott Hughes	src/jdwp/jdwp_adb.cc \
222ffe6736397d17457188727510f0a2953f69a383aElliott Hughes	src/logging_android.cc \
223fc86162ce2a3467acb690e18cc8bd9b3daafc606Elliott Hughes	src/monitor_android.cc \
224b033c75ebda80ac75f936366fe78d1edf5cec937Ian Rogers	src/runtime_android.cc \
2255147733292cd0b80ca7da3099e43cc549d67526bBrian Carlstrom	src/thread_android.cc
2265147733292cd0b80ca7da3099e43cc549d67526bBrian Carlstrom
2275147733292cd0b80ca7da3099e43cc549d67526bBrian Carlstromifeq ($(TARGET_ARCH),arm)
22857b86d47b66322693a070185fadfb43cb9c12eabIan RogersLIBART_TARGET_SRC_FILES += \
22957b86d47b66322693a070185fadfb43cb9c12eabIan Rogers	src/oat/runtime/arm/context_arm.cc.arm \
23057b86d47b66322693a070185fadfb43cb9c12eabIan Rogers	src/oat/runtime/arm/oat_support_entrypoints_arm.cc \
23157b86d47b66322693a070185fadfb43cb9c12eabIan Rogers	src/oat/runtime/arm/runtime_support_arm.S \
23257b86d47b66322693a070185fadfb43cb9c12eabIan Rogers	src/thread_arm.cc
2335147733292cd0b80ca7da3099e43cc549d67526bBrian Carlstromelse # TARGET_ARCH != arm
2345147733292cd0b80ca7da3099e43cc549d67526bBrian Carlstromifeq ($(TARGET_ARCH),x86)
23557b86d47b66322693a070185fadfb43cb9c12eabIan RogersLIBART_TARGET_SRC_FILES += \
23657b86d47b66322693a070185fadfb43cb9c12eabIan Rogers	src/oat/runtime/x86/context_x86.cc \
23757b86d47b66322693a070185fadfb43cb9c12eabIan Rogers	src/oat/runtime/x86/oat_support_entrypoints_x86.cc \
23857b86d47b66322693a070185fadfb43cb9c12eabIan Rogers	src/oat/runtime/x86/runtime_support_x86.S \
23957b86d47b66322693a070185fadfb43cb9c12eabIan Rogers	src/thread_x86.cc
2405147733292cd0b80ca7da3099e43cc549d67526bBrian Carlstromelse # TARGET_ARCH != x86
2415147733292cd0b80ca7da3099e43cc549d67526bBrian Carlstromifeq ($(TARGET_ARCH),mips)
24257b86d47b66322693a070185fadfb43cb9c12eabIan RogersLIBART_TARGET_SRC_FILES += \
24357b86d47b66322693a070185fadfb43cb9c12eabIan Rogers	src/oat/runtime/mips/oat_support_entrypoints_mips.cc \
24457b86d47b66322693a070185fadfb43cb9c12eabIan Rogers	src/oat/runtime/mips/runtime_support_mips.S \
24557b86d47b66322693a070185fadfb43cb9c12eabIan Rogers	src/thread_mips.cc
2465147733292cd0b80ca7da3099e43cc549d67526bBrian Carlstromelse # TARGET_ARCH != mips
2475147733292cd0b80ca7da3099e43cc549d67526bBrian Carlstrom$(error unsupported TARGET_ARCH=$(TARGET_ARCH))
2485147733292cd0b80ca7da3099e43cc549d67526bBrian Carlstromendif # TARGET_ARCH != mips
2495147733292cd0b80ca7da3099e43cc549d67526bBrian Carlstromendif # TARGET_ARCH != x86
2505147733292cd0b80ca7da3099e43cc549d67526bBrian Carlstromendif # TARGET_ARCH != arm
251a5d5cfda6239d8876937e75eba43222f639d2447Carl Shapiro
252934486cf07c578b6494417ca5dcbae89cf04b019Brian CarlstromLIBART_HOST_SRC_FILES := \
253934486cf07c578b6494417ca5dcbae89cf04b019Brian Carlstrom	$(LIBART_COMMON_SRC_FILES) \
254ffe6736397d17457188727510f0a2953f69a383aElliott Hughes	src/logging_linux.cc \
255fc86162ce2a3467acb690e18cc8bd9b3daafc606Elliott Hughes	src/monitor_linux.cc \
256b033c75ebda80ac75f936366fe78d1edf5cec937Ian Rogers	src/runtime_linux.cc \
2575147733292cd0b80ca7da3099e43cc549d67526bBrian Carlstrom	src/thread_linux.cc
2585147733292cd0b80ca7da3099e43cc549d67526bBrian Carlstrom
2595147733292cd0b80ca7da3099e43cc549d67526bBrian Carlstromifeq ($(HOST_ARCH),x86)
26057b86d47b66322693a070185fadfb43cb9c12eabIan RogersLIBART_HOST_SRC_FILES += \
26157b86d47b66322693a070185fadfb43cb9c12eabIan Rogers	src/oat/runtime/x86/oat_support_entrypoints_x86.cc \
26257b86d47b66322693a070185fadfb43cb9c12eabIan Rogers	src/oat/runtime/x86/context_x86.cc \
26357b86d47b66322693a070185fadfb43cb9c12eabIan Rogers	src/oat/runtime/x86/runtime_support_x86.S \
26457b86d47b66322693a070185fadfb43cb9c12eabIan Rogers	src/thread_x86.cc
2655147733292cd0b80ca7da3099e43cc549d67526bBrian Carlstromelse # HOST_ARCH != x86
2665147733292cd0b80ca7da3099e43cc549d67526bBrian Carlstrom$(error unsupported HOST_ARCH=$(HOST_ARCH))
2675147733292cd0b80ca7da3099e43cc549d67526bBrian Carlstromendif # HOST_ARCH != x86
268c981ace51da03ca6a9cd100c2c4d6c9bf6100138Jesse Wilson
2690e57ccbbc2de9eeaeecd699575aab22a3f555619Elliott HughesLIBART_ENUM_OPERATOR_OUT_HEADER_FILES := \
270460384f04f933f94546db7bfbfa02896b9e77962Elliott Hughes	src/dex_verifier.h \
2710e57ccbbc2de9eeaeecd699575aab22a3f555619Elliott Hughes	src/indirect_reference_table.h \
2720e57ccbbc2de9eeaeecd699575aab22a3f555619Elliott Hughes	src/instruction_set.h \
2730e57ccbbc2de9eeaeecd699575aab22a3f555619Elliott Hughes	src/invoke_type.h \
274460384f04f933f94546db7bfbfa02896b9e77962Elliott Hughes	src/jdwp/jdwp.h \
275460384f04f933f94546db7bfbfa02896b9e77962Elliott Hughes	src/jdwp/jdwp_constants.h \
2760e57ccbbc2de9eeaeecd699575aab22a3f555619Elliott Hughes	src/mutex.h
2770e57ccbbc2de9eeaeecd699575aab22a3f555619Elliott Hughes
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 \
29757b86d47b66322693a070185fadfb43cb9c12eabIan Rogers	src/oat/utils/arm/managed_register_arm_test.cc \
29857b86d47b66322693a070185fadfb43cb9c12eabIan Rogers	src/oat/utils/x86/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) \
31857b86d47b66322693a070185fadfb43cb9c12eabIan Rogers	src/oat/utils/x86/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 \
33277405796564c6c1353807cda18b28678a719bd68Elliott Hughes	NonStaticLeafMethods \
3339f30b38d74990286ce27c3a45368f73dbe3638f0Brian Carlstrom	ProtoCompare \
3349f30b38d74990286ce27c3a45368f73dbe3638f0Brian Carlstrom	ProtoCompare2 \
3359f30b38d74990286ce27c3a45368f73dbe3638f0Brian Carlstrom	StaticLeafMethods \
3369f30b38d74990286ce27c3a45368f73dbe3638f0Brian Carlstrom	Statics \
337abcfde3b9661618a88e170fac6fdf092a59eb993jeffhao	StaticsFromCode \
3389f30b38d74990286ce27c3a45368f73dbe3638f0Brian Carlstrom	XandY
3394b620ffb1b4d0c96a94bb3afe314f35d53990ec6Brian Carlstrom
34032b4b2a30636360756058524f8491ee4cd81c423Brian Carlstrom# subdirectories of test/ which are used with test-art-target-oat
34132b4b2a30636360756058524f8491ee4cd81c423Brian Carlstrom# Declare the simplest tests (Main, HelloWorld, and Fibonacci) first, the rest are alphabetical
34232b4b2a30636360756058524f8491ee4cd81c423Brian CarlstromTEST_OAT_DIRECTORIES := \
34332b4b2a30636360756058524f8491ee4cd81c423Brian Carlstrom	Main \
34432b4b2a30636360756058524f8491ee4cd81c423Brian Carlstrom	HelloWorld \
34532b4b2a30636360756058524f8491ee4cd81c423Brian Carlstrom	Fibonacci \
34632b4b2a30636360756058524f8491ee4cd81c423Brian Carlstrom	\
34732b4b2a30636360756058524f8491ee4cd81c423Brian Carlstrom	ExceptionTest \
34832b4b2a30636360756058524f8491ee4cd81c423Brian Carlstrom	GrowthLimit \
34932b4b2a30636360756058524f8491ee4cd81c423Brian Carlstrom	IntMath \
35032b4b2a30636360756058524f8491ee4cd81c423Brian Carlstrom	Invoke \
35132b4b2a30636360756058524f8491ee4cd81c423Brian Carlstrom	MemUsage \
35232b4b2a30636360756058524f8491ee4cd81c423Brian Carlstrom	ParallelGC \
35332b4b2a30636360756058524f8491ee4cd81c423Brian Carlstrom	ReferenceMap \
35432b4b2a30636360756058524f8491ee4cd81c423Brian Carlstrom	ReflectionTest \
35532b4b2a30636360756058524f8491ee4cd81c423Brian Carlstrom	StackWalk \
35632b4b2a30636360756058524f8491ee4cd81c423Brian Carlstrom	ThreadStress
35732b4b2a30636360756058524f8491ee4cd81c423Brian Carlstrom
35832b4b2a30636360756058524f8491ee4cd81c423Brian Carlstrom# TODO: Enable when the StackWalk2 tests are passing
35932b4b2a30636360756058524f8491ee4cd81c423Brian Carlstrom#	StackWalk2 \
36032b4b2a30636360756058524f8491ee4cd81c423Brian Carlstrom
3614b620ffb1b4d0c96a94bb3afe314f35d53990ec6Brian CarlstromART_BUILD_TARGET := false
3624b620ffb1b4d0c96a94bb3afe314f35d53990ec6Brian CarlstromART_BUILD_HOST := false
3634b620ffb1b4d0c96a94bb3afe314f35d53990ec6Brian Carlstromifeq ($(ART_BUILD_TARGET_NDEBUG),true)
3644b620ffb1b4d0c96a94bb3afe314f35d53990ec6Brian Carlstrom  ART_BUILD_TARGET := true
3654b620ffb1b4d0c96a94bb3afe314f35d53990ec6Brian Carlstromendif
3664b620ffb1b4d0c96a94bb3afe314f35d53990ec6Brian Carlstromifeq ($(ART_BUILD_TARGET_DEBUG),true)
3674b620ffb1b4d0c96a94bb3afe314f35d53990ec6Brian Carlstrom  ART_BUILD_TARGET := true
3684b620ffb1b4d0c96a94bb3afe314f35d53990ec6Brian Carlstromendif
3694b620ffb1b4d0c96a94bb3afe314f35d53990ec6Brian Carlstromifeq ($(ART_BUILD_HOST_NDEBUG),true)
3704b620ffb1b4d0c96a94bb3afe314f35d53990ec6Brian Carlstrom  ART_BUILD_HOST := true
3714b620ffb1b4d0c96a94bb3afe314f35d53990ec6Brian Carlstromendif
3724b620ffb1b4d0c96a94bb3afe314f35d53990ec6Brian Carlstromifeq ($(ART_BUILD_HOST_DEBUG),true)
3734b620ffb1b4d0c96a94bb3afe314f35d53990ec6Brian Carlstrom  ART_BUILD_HOST := true
3744b620ffb1b4d0c96a94bb3afe314f35d53990ec6Brian Carlstromendif
375