Android.common.mk revision 3e778f7ee62fe75912379531022a09230c25f5f8
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
17f1eedca3a34bce42bb25bb8432b5d5df12103d16Elliott Hughes# TODO: move the LLVM compiler out into a separate shared library 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
6908e1ba3c5899213e63007b0158e0a491f2449ea4Logan ChienART_TARGET_CFLAGS := $(art_cflags) -DART_TARGET
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
9258e63f9e999605bce6e8dc301eaf5e2ee0981e03TDYaifeq ($(ART_USE_LLVM_COMPILER),true)
9358e63f9e999605bce6e8dc301eaf5e2ee0981e03TDYaPARALLEL_ART_COMPILE_JOBS := -j8
9458e63f9e999605bce6e8dc301eaf5e2ee0981e03TDYaendif
9558e63f9e999605bce6e8dc301eaf5e2ee0981e03TDYa
9669b15fb098162f19a4c20e6dccdcead04d9c77f0Brian CarlstromDEX2OAT_SRC_FILES := \
9769b15fb098162f19a4c20e6dccdcead04d9c77f0Brian Carlstrom	src/dex2oat.cc
9869b15fb098162f19a4c20e6dccdcead04d9c77f0Brian Carlstrom
9978128a63b2615744760b7f8ab83df9764a5d4a95Brian CarlstromOATDUMP_SRC_FILES := \
1003e778f7ee62fe75912379531022a09230c25f5f8Elliott Hughes	src/oatdump.cc
10178128a63b2615744760b7f8ab83df9764a5d4a95Brian Carlstrom
10269b15fb098162f19a4c20e6dccdcead04d9c77f0Brian CarlstromOATEXEC_SRC_FILES := \
10369b15fb098162f19a4c20e6dccdcead04d9c77f0Brian Carlstrom	src/oatexec.cc
1049bf84fd5b69f17ad3e3dca37aa021bdc4246259eCarl Shapiro
105934486cf07c578b6494417ca5dcbae89cf04b019Brian CarlstromLIBART_COMMON_SRC_FILES := \
1065ea047b386c5dac78eda62305d14dedf7b5611a8Elliott Hughes	src/atomic.cc.arm \
1075d76c435082332ef79a22962386fa92a0870e378Ian Rogers	src/card_table.cc \
108a2501990dd0f68baf38ce19251949d7bb3ecfe5aElliott Hughes	src/check_jni.cc \
1090e5d75d5ca2b8a44fab0c862276a466cbab39859Carl Shapiro	src/class_linker.cc \
1101f87008b165d26541d832ff805250afdc89c253dBrian Carlstrom	src/class_loader.cc \
1113320cf46afd082398aa401b246e6f301cebdf64dBrian Carlstrom	src/compiled_method.cc \
1129ea1cb1a22be5b85dc2622e3836c46a1c48e3f25Brian Carlstrom	src/compiler.cc \
113872d4ec7225444d9400d30f9027247deb91012fdElliott Hughes	src/debugger.cc \
1147e49dca262933bc30cbc8b9f07cfc8cce2343389Brian Carlstrom	src/dex_cache.cc \
1151fb8620309a4e94d11879aabc33364acfa733904Carl Shapiro	src/dex_file.cc \
11610037c866b04550fc5461058c398c2e3e509381ajeffhao	src/dex_file_verifier.cc \
11712eb78e651f13f2c1f0c2c922048a5a213253adfCarl Shapiro	src/dex_instruction.cc \
1183e778f7ee62fe75912379531022a09230c25f5f8Elliott Hughes	src/disassembler.cc \
1193e778f7ee62fe75912379531022a09230c25f5f8Elliott Hughes	src/disassembler_arm.cc \
1203e778f7ee62fe75912379531022a09230c25f5f8Elliott Hughes	src/disassembler_mips.cc \
1213e778f7ee62fe75912379531022a09230c25f5f8Elliott Hughes	src/disassembler_x86.cc \
12230fab40ee5a07af6b8c3b6b0e9438071695a57f4Ian Rogers	src/dlmalloc.c \
123db4d54081f09abcbe97ffdf615874f2809a9e777Brian Carlstrom	src/file.cc \
124db4d54081f09abcbe97ffdf615874f2809a9e777Brian Carlstrom	src/file_linux.cc \
12569759eaa6fd4386f1e6d8748052ad221087b3476Carl Shapiro	src/heap.cc \
1265e71b52a6f2c16fd02b389d220e60808cbc8f74aElliott Hughes	src/heap_bitmap.cc \
127c4824e60fef6cb9fdf0f8442408338f4141e09deJesse Wilson	src/hprof/hprof.cc \
1280c54ac102a3c489d284a8db5d91189da5b455c40Jesse Wilson	src/hprof/hprof_record.cc \
1294a289ed61242964b921434de7d375f46480472a1Brian Carlstrom	src/image.cc \
130db4d54081f09abcbe97ffdf615874f2809a9e777Brian Carlstrom	src/image_writer.cc \
1316c1a394b47c85c8d1723fc3b156a3b1b0b29a757Elliott Hughes	src/indirect_reference_table.cc \
1327e93b50433cde2a44d99212e8040299bde498546Brian Carlstrom	src/intern_table.cc \
133872d4ec7225444d9400d30f9027247deb91012fdElliott Hughes	src/jdwp/jdwp_event.cc \
134872d4ec7225444d9400d30f9027247deb91012fdElliott Hughes	src/jdwp/jdwp_expand_buf.cc \
135872d4ec7225444d9400d30f9027247deb91012fdElliott Hughes	src/jdwp/jdwp_handler.cc \
136872d4ec7225444d9400d30f9027247deb91012fdElliott Hughes	src/jdwp/jdwp_main.cc \
137872d4ec7225444d9400d30f9027247deb91012fdElliott Hughes	src/jdwp/jdwp_socket.cc \
138df20fe0c097073f75f22d16e72fd3636a31d3ca1Ian Rogers	src/jni_internal.cc \
13942ee14279065352a4b9a3e8028d02c567e847d05Elliott Hughes	src/logging.cc \
14069759eaa6fd4386f1e6d8748052ad221087b3476Carl Shapiro	src/mark_stack.cc \
14169759eaa6fd4386f1e6d8748052ad221087b3476Carl Shapiro	src/mark_sweep.cc \
14227ec961a1da540ba7f16c07a682585ab167317adBrian Carlstrom	src/mem_map.cc \
1431fb8620309a4e94d11879aabc33364acfa733904Carl Shapiro	src/memory_region.cc \
14454e7df1896a4066cbb9fe6f72249829f0b8c49c6Elliott Hughes	src/monitor.cc \
1458daa0929f08a3080ea64dbd4e997e72f411e6fc9Elliott Hughes	src/mutex.cc \
1460dae08ead9112adb81ad507b81187f00f77bc168Ian Rogers	src/native/dalvik_system_DexFile.cc \
1470dae08ead9112adb81ad507b81187f00f77bc168Ian Rogers	src/native/dalvik_system_VMDebug.cc \
1480dae08ead9112adb81ad507b81187f00f77bc168Ian Rogers	src/native/dalvik_system_VMRuntime.cc \
1490dae08ead9112adb81ad507b81187f00f77bc168Ian Rogers	src/native/dalvik_system_VMStack.cc \
1500dae08ead9112adb81ad507b81187f00f77bc168Ian Rogers	src/native/dalvik_system_Zygote.cc \
1510dae08ead9112adb81ad507b81187f00f77bc168Ian Rogers	src/native/java_lang_Class.cc \
1520dae08ead9112adb81ad507b81187f00f77bc168Ian Rogers	src/native/java_lang_Object.cc \
1530dae08ead9112adb81ad507b81187f00f77bc168Ian Rogers	src/native/java_lang_Runtime.cc \
1540dae08ead9112adb81ad507b81187f00f77bc168Ian Rogers	src/native/java_lang_String.cc \
1550dae08ead9112adb81ad507b81187f00f77bc168Ian Rogers	src/native/java_lang_System.cc \
1560dae08ead9112adb81ad507b81187f00f77bc168Ian Rogers	src/native/java_lang_Thread.cc \
1570dae08ead9112adb81ad507b81187f00f77bc168Ian Rogers	src/native/java_lang_Throwable.cc \
1580dae08ead9112adb81ad507b81187f00f77bc168Ian Rogers	src/native/java_lang_VMClassLoader.cc \
1590dae08ead9112adb81ad507b81187f00f77bc168Ian Rogers	src/native/java_lang_reflect_Array.cc \
1600dae08ead9112adb81ad507b81187f00f77bc168Ian Rogers	src/native/java_lang_reflect_Constructor.cc \
1610dae08ead9112adb81ad507b81187f00f77bc168Ian Rogers	src/native/java_lang_reflect_Field.cc \
1620dae08ead9112adb81ad507b81187f00f77bc168Ian Rogers	src/native/java_lang_reflect_Method.cc \
1630dae08ead9112adb81ad507b81187f00f77bc168Ian Rogers	src/native/java_lang_reflect_Proxy.cc \
1640dae08ead9112adb81ad507b81187f00f77bc168Ian Rogers	src/native/java_util_concurrent_atomic_AtomicLong.cc \
1650dae08ead9112adb81ad507b81187f00f77bc168Ian Rogers	src/native/org_apache_harmony_dalvik_ddmc_DdmServer.cc \
1660dae08ead9112adb81ad507b81187f00f77bc168Ian Rogers	src/native/org_apache_harmony_dalvik_ddmc_DdmVmInternal.cc \
1670dae08ead9112adb81ad507b81187f00f77bc168Ian Rogers	src/native/sun_misc_Unsafe.cc \
168776ac1fa61237db645adb4370a4aab888530caf4Ian Rogers	src/oat/runtime/arm/stub_arm.cc \
169776ac1fa61237db645adb4370a4aab888530caf4Ian Rogers	src/oat/runtime/x86/stub_x86.cc \
170776ac1fa61237db645adb4370a4aab888530caf4Ian Rogers	src/oat/utils/arm/assembler_arm.cc \
171776ac1fa61237db645adb4370a4aab888530caf4Ian Rogers	src/oat/utils/arm/managed_register_arm.cc \
172776ac1fa61237db645adb4370a4aab888530caf4Ian Rogers	src/oat/utils/assembler.cc \
173776ac1fa61237db645adb4370a4aab888530caf4Ian Rogers	src/oat/utils/x86/assembler_x86.cc \
174776ac1fa61237db645adb4370a4aab888530caf4Ian Rogers	src/oat/utils/x86/managed_register_x86.cc \
175e24fa61603a60ade3797e4a0c8b3fccb346cb048Brian Carlstrom	src/oat.cc \
176e24fa61603a60ade3797e4a0c8b3fccb346cb048Brian Carlstrom	src/oat_file.cc \
177e24fa61603a60ade3797e4a0c8b3fccb346cb048Brian Carlstrom	src/oat_writer.cc \
1783ee755da5c1c17b6a29052d171a8a63c0eb0b052Carl Shapiro	src/object.cc \
17969759eaa6fd4386f1e6d8748052ad221087b3476Carl Shapiro	src/offsets.cc \
180db4d54081f09abcbe97ffdf615874f2809a9e777Brian Carlstrom	src/os_linux.cc \
181ae826983f7903bc0a6bbbe8426bf393fb2f6d747Brian Carlstrom	src/primitive.cc \
18211e45077acba2e757799a00b3be9d63fec36a7ccElliott Hughes	src/reference_table.cc \
183418d20fc407052d4152157f61e7453359f902383Elliott Hughes	src/reflection.cc \
184d4e48fdd5f8baad270a82120a912106b98074501Carl Shapiro	src/runtime.cc \
185a8a9c3490776ab897a15bebd31119c94ede5c19aShih-wei Liao	src/runtime_support.cc \
18688c5c355fc3d881f905564911d746b2313d5fc89Elliott Hughes	src/scoped_thread_list_lock.cc \
187e27955ca3ca960928d4dbd6cb79711fce06950b3Elliott Hughes	src/signal_catcher.cc \
18869759eaa6fd4386f1e6d8748052ad221087b3476Carl Shapiro	src/space.cc \
18968e76526e98432625464022cb26f66b9ef6f5af4Elliott Hughes	src/stack.cc \
190b557353b22c728eecbd1c68593b482622c7782a8Carl Shapiro	src/stringpiece.cc \
191eb4f614f2eb53b92ebd416fa418f550861655887Elliott Hughes	src/stringprintf.cc \
192b0460eaa2cb131f1dbdd5a7217bd36b9a9f1b995Brian Carlstrom	src/thread.cc \
1938daa0929f08a3080ea64dbd4e997e72f411e6fc9Elliott Hughes	src/thread_list.cc \
194e343b76af81a005ef64f5e75a555389fd9147dabjeffhao	src/trace.cc \
195814e40397fe6c8a2c645bae99f356dbddd6dbe18Elliott Hughes	src/utf.cc \
19611e45077acba2e757799a00b3be9d63fec36a7ccElliott Hughes	src/utils.cc \
197776ac1fa61237db645adb4370a4aab888530caf4Ian Rogers	src/zip_archive.cc \
198776ac1fa61237db645adb4370a4aab888530caf4Ian Rogers	src/verifier/gc_map.cc \
199776ac1fa61237db645adb4370a4aab888530caf4Ian Rogers	src/verifier/method_verifier.cc \
200776ac1fa61237db645adb4370a4aab888530caf4Ian Rogers	src/verifier/reg_type.cc \
201776ac1fa61237db645adb4370a4aab888530caf4Ian Rogers	src/verifier/reg_type_cache.cc \
202776ac1fa61237db645adb4370a4aab888530caf4Ian Rogers	src/verifier/register_line.cc
203a5d5cfda6239d8876937e75eba43222f639d2447Carl Shapiro
204d1fec81868a3567560a3868350e0a945248e925bShih-wei Liaoifeq ($(ART_USE_LLVM_COMPILER),true)
205d1fec81868a3567560a3868350e0a945248e925bShih-wei LiaoLIBART_COMMON_SRC_FILES += \
2063fe0c60b00f32274f0763feb6b51bb05dff2abb9Logan Chien	src/compiler_llvm/elf_loader.cc \
207fca7e87c4831ac52073bdd0b2c7342488ce286d8Logan Chien	src/compiler_llvm/inferred_reg_category_map.cc \
208937105a220983351695bf4c8924171ba5d17a68cLogan Chien	src/compiler_llvm/runtime_support_llvm.cc
2096e94f144e2d41c75c17c11f41ee8daba3455980bShih-wei Liaoendif
2106e94f144e2d41c75c17c11f41ee8daba3455980bShih-wei Liao
21157b86d47b66322693a070185fadfb43cb9c12eabIan RogersLIBART_COMMON_SRC_FILES += \
21257b86d47b66322693a070185fadfb43cb9c12eabIan Rogers	src/oat/runtime/context.cc \
21357b86d47b66322693a070185fadfb43cb9c12eabIan Rogers	src/oat/runtime/support_alloc.cc \
21457b86d47b66322693a070185fadfb43cb9c12eabIan Rogers	src/oat/runtime/support_cast.cc \
21557b86d47b66322693a070185fadfb43cb9c12eabIan Rogers	src/oat/runtime/support_debug.cc \
21657b86d47b66322693a070185fadfb43cb9c12eabIan Rogers	src/oat/runtime/support_dexcache.cc \
21757b86d47b66322693a070185fadfb43cb9c12eabIan Rogers	src/oat/runtime/support_field.cc \
21857b86d47b66322693a070185fadfb43cb9c12eabIan Rogers	src/oat/runtime/support_fillarray.cc \
21957b86d47b66322693a070185fadfb43cb9c12eabIan Rogers	src/oat/runtime/support_invoke.cc \
22057b86d47b66322693a070185fadfb43cb9c12eabIan Rogers	src/oat/runtime/support_jni.cc \
22157b86d47b66322693a070185fadfb43cb9c12eabIan Rogers	src/oat/runtime/support_locks.cc \
22257b86d47b66322693a070185fadfb43cb9c12eabIan Rogers	src/oat/runtime/support_math.cc \
22357b86d47b66322693a070185fadfb43cb9c12eabIan Rogers	src/oat/runtime/support_proxy.cc \
22457b86d47b66322693a070185fadfb43cb9c12eabIan Rogers	src/oat/runtime/support_stubs.cc \
22557b86d47b66322693a070185fadfb43cb9c12eabIan Rogers	src/oat/runtime/support_thread.cc \
22657b86d47b66322693a070185fadfb43cb9c12eabIan Rogers	src/oat/runtime/support_throw.cc \
227776ac1fa61237db645adb4370a4aab888530caf4Ian Rogers	src/oat/runtime/support_trace.cc
228d1fec81868a3567560a3868350e0a945248e925bShih-wei Liao
229934486cf07c578b6494417ca5dcbae89cf04b019Brian CarlstromLIBART_TARGET_SRC_FILES := \
230934486cf07c578b6494417ca5dcbae89cf04b019Brian Carlstrom	$(LIBART_COMMON_SRC_FILES) \
231872d4ec7225444d9400d30f9027247deb91012fdElliott Hughes	src/jdwp/jdwp_adb.cc \
232ffe6736397d17457188727510f0a2953f69a383aElliott Hughes	src/logging_android.cc \
233fc86162ce2a3467acb690e18cc8bd9b3daafc606Elliott Hughes	src/monitor_android.cc \
234b033c75ebda80ac75f936366fe78d1edf5cec937Ian Rogers	src/runtime_android.cc \
2355147733292cd0b80ca7da3099e43cc549d67526bBrian Carlstrom	src/thread_android.cc
2365147733292cd0b80ca7da3099e43cc549d67526bBrian Carlstrom
2375147733292cd0b80ca7da3099e43cc549d67526bBrian Carlstromifeq ($(TARGET_ARCH),arm)
23857b86d47b66322693a070185fadfb43cb9c12eabIan RogersLIBART_TARGET_SRC_FILES += \
23957b86d47b66322693a070185fadfb43cb9c12eabIan Rogers	src/oat/runtime/arm/context_arm.cc.arm \
24057b86d47b66322693a070185fadfb43cb9c12eabIan Rogers	src/oat/runtime/arm/oat_support_entrypoints_arm.cc \
241776ac1fa61237db645adb4370a4aab888530caf4Ian Rogers	src/oat/runtime/arm/runtime_support_arm.S
2425147733292cd0b80ca7da3099e43cc549d67526bBrian Carlstromelse # TARGET_ARCH != arm
2435147733292cd0b80ca7da3099e43cc549d67526bBrian Carlstromifeq ($(TARGET_ARCH),x86)
24457b86d47b66322693a070185fadfb43cb9c12eabIan RogersLIBART_TARGET_SRC_FILES += \
24557b86d47b66322693a070185fadfb43cb9c12eabIan Rogers	src/oat/runtime/x86/context_x86.cc \
24657b86d47b66322693a070185fadfb43cb9c12eabIan Rogers	src/oat/runtime/x86/oat_support_entrypoints_x86.cc \
247776ac1fa61237db645adb4370a4aab888530caf4Ian Rogers	src/oat/runtime/x86/runtime_support_x86.S
2485147733292cd0b80ca7da3099e43cc549d67526bBrian Carlstromelse # TARGET_ARCH != x86
2495147733292cd0b80ca7da3099e43cc549d67526bBrian Carlstromifeq ($(TARGET_ARCH),mips)
25057b86d47b66322693a070185fadfb43cb9c12eabIan RogersLIBART_TARGET_SRC_FILES += \
25157b86d47b66322693a070185fadfb43cb9c12eabIan Rogers	src/oat/runtime/mips/oat_support_entrypoints_mips.cc \
252776ac1fa61237db645adb4370a4aab888530caf4Ian Rogers	src/oat/runtime/mips/runtime_support_mips.S
253776ac1fa61237db645adb4370a4aab888530caf4Ian Rogerselse # TARGET_ARCH != mips
254776ac1fa61237db645adb4370a4aab888530caf4Ian Rogers$(error unsupported TARGET_ARCH=$(TARGET_ARCH))
255776ac1fa61237db645adb4370a4aab888530caf4Ian Rogersendif # TARGET_ARCH != mips
256776ac1fa61237db645adb4370a4aab888530caf4Ian Rogersendif # TARGET_ARCH != x86
257776ac1fa61237db645adb4370a4aab888530caf4Ian Rogersendif # TARGET_ARCH != arm
258776ac1fa61237db645adb4370a4aab888530caf4Ian Rogers
259776ac1fa61237db645adb4370a4aab888530caf4Ian Rogersifeq ($(TARGET_ARCH),arm)
260776ac1fa61237db645adb4370a4aab888530caf4Ian RogersLIBART_TARGET_SRC_FILES += src/thread_arm.cc
261776ac1fa61237db645adb4370a4aab888530caf4Ian Rogerselse # TARGET_ARCH != arm
262776ac1fa61237db645adb4370a4aab888530caf4Ian Rogersifeq ($(TARGET_ARCH),x86)
263776ac1fa61237db645adb4370a4aab888530caf4Ian RogersLIBART_TARGET_SRC_FILES += src/thread_x86.cc
264776ac1fa61237db645adb4370a4aab888530caf4Ian Rogerselse # TARGET_ARCH != x86
265776ac1fa61237db645adb4370a4aab888530caf4Ian Rogersifeq ($(TARGET_ARCH),mips)
266776ac1fa61237db645adb4370a4aab888530caf4Ian RogersLIBART_TARGET_SRC_FILES += src/thread_mips.cc
2675147733292cd0b80ca7da3099e43cc549d67526bBrian Carlstromelse # TARGET_ARCH != mips
2685147733292cd0b80ca7da3099e43cc549d67526bBrian Carlstrom$(error unsupported TARGET_ARCH=$(TARGET_ARCH))
2695147733292cd0b80ca7da3099e43cc549d67526bBrian Carlstromendif # TARGET_ARCH != mips
2705147733292cd0b80ca7da3099e43cc549d67526bBrian Carlstromendif # TARGET_ARCH != x86
2715147733292cd0b80ca7da3099e43cc549d67526bBrian Carlstromendif # TARGET_ARCH != arm
272a5d5cfda6239d8876937e75eba43222f639d2447Carl Shapiro
273934486cf07c578b6494417ca5dcbae89cf04b019Brian CarlstromLIBART_HOST_SRC_FILES := \
274934486cf07c578b6494417ca5dcbae89cf04b019Brian Carlstrom	$(LIBART_COMMON_SRC_FILES) \
275ffe6736397d17457188727510f0a2953f69a383aElliott Hughes	src/logging_linux.cc \
276fc86162ce2a3467acb690e18cc8bd9b3daafc606Elliott Hughes	src/monitor_linux.cc \
277b033c75ebda80ac75f936366fe78d1edf5cec937Ian Rogers	src/runtime_linux.cc \
2785147733292cd0b80ca7da3099e43cc549d67526bBrian Carlstrom	src/thread_linux.cc
2795147733292cd0b80ca7da3099e43cc549d67526bBrian Carlstrom
2805147733292cd0b80ca7da3099e43cc549d67526bBrian Carlstromifeq ($(HOST_ARCH),x86)
28157b86d47b66322693a070185fadfb43cb9c12eabIan RogersLIBART_HOST_SRC_FILES += \
28257b86d47b66322693a070185fadfb43cb9c12eabIan Rogers	src/oat/runtime/x86/oat_support_entrypoints_x86.cc \
28357b86d47b66322693a070185fadfb43cb9c12eabIan Rogers	src/oat/runtime/x86/context_x86.cc \
284776ac1fa61237db645adb4370a4aab888530caf4Ian Rogers	src/oat/runtime/x86/runtime_support_x86.S
2855147733292cd0b80ca7da3099e43cc549d67526bBrian Carlstromelse # HOST_ARCH != x86
2865147733292cd0b80ca7da3099e43cc549d67526bBrian Carlstrom$(error unsupported HOST_ARCH=$(HOST_ARCH))
2875147733292cd0b80ca7da3099e43cc549d67526bBrian Carlstromendif # HOST_ARCH != x86
288776ac1fa61237db645adb4370a4aab888530caf4Ian Rogers
289776ac1fa61237db645adb4370a4aab888530caf4Ian Rogersifeq ($(HOST_ARCH),x86)
290776ac1fa61237db645adb4370a4aab888530caf4Ian RogersLIBART_HOST_SRC_FILES += src/thread_x86.cc
291776ac1fa61237db645adb4370a4aab888530caf4Ian Rogerselse # HOST_ARCH != x86
292776ac1fa61237db645adb4370a4aab888530caf4Ian Rogers$(error unsupported HOST_ARCH=$(HOST_ARCH))
293776ac1fa61237db645adb4370a4aab888530caf4Ian Rogersendif # HOST_ARCH != x86
294776ac1fa61237db645adb4370a4aab888530caf4Ian Rogers
295c981ace51da03ca6a9cd100c2c4d6c9bf6100138Jesse Wilson
2960e57ccbbc2de9eeaeecd699575aab22a3f555619Elliott HughesLIBART_ENUM_OPERATOR_OUT_HEADER_FILES := \
2970e57ccbbc2de9eeaeecd699575aab22a3f555619Elliott Hughes	src/indirect_reference_table.h \
2980e57ccbbc2de9eeaeecd699575aab22a3f555619Elliott Hughes	src/instruction_set.h \
2990e57ccbbc2de9eeaeecd699575aab22a3f555619Elliott Hughes	src/invoke_type.h \
300460384f04f933f94546db7bfbfa02896b9e77962Elliott Hughes	src/jdwp/jdwp.h \
301460384f04f933f94546db7bfbfa02896b9e77962Elliott Hughes	src/jdwp/jdwp_constants.h \
30234e069606d6f1698cd3c33b39e72b79ae27e1c7bElliott Hughes	src/mutex.h \
303776ac1fa61237db645adb4370a4aab888530caf4Ian Rogers	src/thread.h \
304776ac1fa61237db645adb4370a4aab888530caf4Ian Rogers	src/verifier/method_verifier.h
3050e57ccbbc2de9eeaeecd699575aab22a3f555619Elliott Hughes
306cdc8de4642ca447a7ed205f0d2203cb217e48aadBrian CarlstromLIBARTTEST_COMMON_SRC_FILES := \
307a6af3c35cd671014b68ffae3137559ffdcf6475fShih-wei Liao	test/StackWalk/stack_walk_jni.cc \
308a6af3c35cd671014b68ffae3137559ffdcf6475fShih-wei Liao	test/ReferenceMap/stack_walk_refmap_jni.cc
309cdc8de4642ca447a7ed205f0d2203cb217e48aadBrian Carlstrom
310934486cf07c578b6494417ca5dcbae89cf04b019Brian CarlstromTEST_COMMON_SRC_FILES := \
3110e5d75d5ca2b8a44fab0c862276a466cbab39859Carl Shapiro	src/class_linker_test.cc \
312aded5f7ab991f3c1132851599d3bc60ff6707eedBrian Carlstrom	src/compiler_test.cc \
3137e49dca262933bc30cbc8b9f07cfc8cce2343389Brian Carlstrom	src/dex_cache_test.cc \
3141fb8620309a4e94d11879aabc33364acfa733904Carl Shapiro	src/dex_file_test.cc \
3151fb8620309a4e94d11879aabc33364acfa733904Carl Shapiro	src/dex_instruction_visitor_test.cc \
3162fb9753c58ce1a511fd6996856840120eb2930dbShih-wei Liao	src/exception_test.cc \
317db4d54081f09abcbe97ffdf615874f2809a9e777Brian Carlstrom	src/file_test.cc \
3181f87008b165d26541d832ff805250afdc89c253dBrian Carlstrom	src/heap_test.cc \
319db4d54081f09abcbe97ffdf615874f2809a9e777Brian Carlstrom	src/image_test.cc \
3206c1a394b47c85c8d1723fc3b156a3b1b0b29a757Elliott Hughes	src/indirect_reference_table_test.cc \
3217e93b50433cde2a44d99212e8040299bde498546Brian Carlstrom	src/intern_table_test.cc \
322cd2764fda5dc4eeccb0c66fcc06eb91f70b98e24Ian Rogers	src/jni_internal_test.cc \
323cd2764fda5dc4eeccb0c66fcc06eb91f70b98e24Ian Rogers	src/jni_compiler_test.cc \
32457b86d47b66322693a070185fadfb43cb9c12eabIan Rogers	src/oat/utils/arm/managed_register_arm_test.cc \
32557b86d47b66322693a070185fadfb43cb9c12eabIan Rogers	src/oat/utils/x86/managed_register_x86_test.cc \
326cd74c4b3a6893c876c6e03fd99a1264249653d80Brian Carlstrom	src/mutex_test.cc \
327e24fa61603a60ade3797e4a0c8b3fccb346cb048Brian Carlstrom	src/oat_test.cc \
328894d0fab562badca5c2f01a5c2adc8de756c08adCarl Shapiro	src/object_test.cc \
32911e45077acba2e757799a00b3be9d63fec36a7ccElliott Hughes	src/reference_table_test.cc \
330fc322c72d7a89a6f7a05c8bdc232d780aecd9232Carl Shapiro	src/runtime_test.cc \
331b0460eaa2cb131f1dbdd5a7217bd36b9a9f1b995Brian Carlstrom	src/space_test.cc \
33211e45077acba2e757799a00b3be9d63fec36a7ccElliott Hughes	src/utils_test.cc \
333776ac1fa61237db645adb4370a4aab888530caf4Ian Rogers	src/zip_archive_test.cc \
334776ac1fa61237db645adb4370a4aab888530caf4Ian Rogers	src/verifier/method_verifier_test.cc \
335776ac1fa61237db645adb4370a4aab888530caf4Ian Rogers	src/verifier/reg_type_test.cc
336008e41230a702ddb4c558fca95af5d84d56b51cbCarl Shapiro
337934486cf07c578b6494417ca5dcbae89cf04b019Brian CarlstromTEST_TARGET_SRC_FILES := \
3382c8f653c98d658419f464b6147c10e11a664d2e6Ian Rogers	$(TEST_COMMON_SRC_FILES)
339c981ace51da03ca6a9cd100c2c4d6c9bf6100138Jesse Wilson
340934486cf07c578b6494417ca5dcbae89cf04b019Brian CarlstromTEST_HOST_SRC_FILES := \
341934486cf07c578b6494417ca5dcbae89cf04b019Brian Carlstrom	$(TEST_COMMON_SRC_FILES) \
34257b86d47b66322693a070185fadfb43cb9c12eabIan Rogers	src/oat/utils/x86/assembler_x86_test.cc
3439f30b38d74990286ce27c3a45368f73dbe3638f0Brian Carlstrom
34432b4b2a30636360756058524f8491ee4cd81c423Brian Carlstrom# subdirectories of test/ which are used as inputs for gtests
3459f30b38d74990286ce27c3a45368f73dbe3638f0Brian CarlstromTEST_DEX_DIRECTORIES := \
346303b01ed0d36017371e29b1f1e209dd19896ac9eShih-wei Liao	AbstractMethod \
3479f30b38d74990286ce27c3a45368f73dbe3638f0Brian Carlstrom	AllFields \
3480571d357843c53e042f370f5f2c2e9aa3fe803a9Ian Rogers	CreateMethodSignature \
34933f741eefef8f8012f6c190b39355f2e0430d535Brian Carlstrom	ExceptionHandle \
3509f30b38d74990286ce27c3a45368f73dbe3638f0Brian Carlstrom	IntMath \
3519f30b38d74990286ce27c3a45368f73dbe3638f0Brian Carlstrom	Interfaces \
3529f30b38d74990286ce27c3a45368f73dbe3638f0Brian Carlstrom	Main \
3539f30b38d74990286ce27c3a45368f73dbe3638f0Brian Carlstrom	MyClass \
3549f30b38d74990286ce27c3a45368f73dbe3638f0Brian Carlstrom	MyClassNatives \
3559f30b38d74990286ce27c3a45368f73dbe3638f0Brian Carlstrom	Nested \
35677405796564c6c1353807cda18b28678a719bd68Elliott Hughes	NonStaticLeafMethods \
3579f30b38d74990286ce27c3a45368f73dbe3638f0Brian Carlstrom	ProtoCompare \
3589f30b38d74990286ce27c3a45368f73dbe3638f0Brian Carlstrom	ProtoCompare2 \
3599f30b38d74990286ce27c3a45368f73dbe3638f0Brian Carlstrom	StaticLeafMethods \
3609f30b38d74990286ce27c3a45368f73dbe3638f0Brian Carlstrom	Statics \
361abcfde3b9661618a88e170fac6fdf092a59eb993jeffhao	StaticsFromCode \
3629f30b38d74990286ce27c3a45368f73dbe3638f0Brian Carlstrom	XandY
3634b620ffb1b4d0c96a94bb3afe314f35d53990ec6Brian Carlstrom
36432b4b2a30636360756058524f8491ee4cd81c423Brian Carlstrom# subdirectories of test/ which are used with test-art-target-oat
36532b4b2a30636360756058524f8491ee4cd81c423Brian Carlstrom# Declare the simplest tests (Main, HelloWorld, and Fibonacci) first, the rest are alphabetical
36632b4b2a30636360756058524f8491ee4cd81c423Brian CarlstromTEST_OAT_DIRECTORIES := \
36732b4b2a30636360756058524f8491ee4cd81c423Brian Carlstrom	Main \
36832b4b2a30636360756058524f8491ee4cd81c423Brian Carlstrom	HelloWorld \
36932b4b2a30636360756058524f8491ee4cd81c423Brian Carlstrom	Fibonacci \
37032b4b2a30636360756058524f8491ee4cd81c423Brian Carlstrom	\
37132b4b2a30636360756058524f8491ee4cd81c423Brian Carlstrom	ExceptionTest \
37232b4b2a30636360756058524f8491ee4cd81c423Brian Carlstrom	GrowthLimit \
37332b4b2a30636360756058524f8491ee4cd81c423Brian Carlstrom	IntMath \
37432b4b2a30636360756058524f8491ee4cd81c423Brian Carlstrom	Invoke \
37532b4b2a30636360756058524f8491ee4cd81c423Brian Carlstrom	MemUsage \
37632b4b2a30636360756058524f8491ee4cd81c423Brian Carlstrom	ParallelGC \
37732b4b2a30636360756058524f8491ee4cd81c423Brian Carlstrom	ReferenceMap \
37832b4b2a30636360756058524f8491ee4cd81c423Brian Carlstrom	ReflectionTest \
37932b4b2a30636360756058524f8491ee4cd81c423Brian Carlstrom	StackWalk \
38032b4b2a30636360756058524f8491ee4cd81c423Brian Carlstrom	ThreadStress
38132b4b2a30636360756058524f8491ee4cd81c423Brian Carlstrom
38232b4b2a30636360756058524f8491ee4cd81c423Brian Carlstrom# TODO: Enable when the StackWalk2 tests are passing
38332b4b2a30636360756058524f8491ee4cd81c423Brian Carlstrom#	StackWalk2 \
38432b4b2a30636360756058524f8491ee4cd81c423Brian Carlstrom
3854b620ffb1b4d0c96a94bb3afe314f35d53990ec6Brian CarlstromART_BUILD_TARGET := false
3864b620ffb1b4d0c96a94bb3afe314f35d53990ec6Brian CarlstromART_BUILD_HOST := false
3874b620ffb1b4d0c96a94bb3afe314f35d53990ec6Brian Carlstromifeq ($(ART_BUILD_TARGET_NDEBUG),true)
3884b620ffb1b4d0c96a94bb3afe314f35d53990ec6Brian Carlstrom  ART_BUILD_TARGET := true
3894b620ffb1b4d0c96a94bb3afe314f35d53990ec6Brian Carlstromendif
3904b620ffb1b4d0c96a94bb3afe314f35d53990ec6Brian Carlstromifeq ($(ART_BUILD_TARGET_DEBUG),true)
3914b620ffb1b4d0c96a94bb3afe314f35d53990ec6Brian Carlstrom  ART_BUILD_TARGET := true
3924b620ffb1b4d0c96a94bb3afe314f35d53990ec6Brian Carlstromendif
3934b620ffb1b4d0c96a94bb3afe314f35d53990ec6Brian Carlstromifeq ($(ART_BUILD_HOST_NDEBUG),true)
3944b620ffb1b4d0c96a94bb3afe314f35d53990ec6Brian Carlstrom  ART_BUILD_HOST := true
3954b620ffb1b4d0c96a94bb3afe314f35d53990ec6Brian Carlstromendif
3964b620ffb1b4d0c96a94bb3afe314f35d53990ec6Brian Carlstromifeq ($(ART_BUILD_HOST_DEBUG),true)
3974b620ffb1b4d0c96a94bb3afe314f35d53990ec6Brian Carlstrom  ART_BUILD_HOST := true
3984b620ffb1b4d0c96a94bb3afe314f35d53990ec6Brian Carlstromendif
399