Android.common.mk revision 8d768a954b101a9532f980253ac46be2c53aba11
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
17cdc8de4642ca447a7ed205f0d2203cb217e48aadBrian CarlstromART_CPP_EXTENSION := .cc
189bf84fd5b69f17ad3e3dca37aa021bdc4246259eCarl Shapiro
190af5543f8ea20c3e655b2d748a1b7dcf283792feElliott HughesART_C_INCLUDES := \
200af5543f8ea20c3e655b2d748a1b7dcf283792feElliott Hughes	external/gtest/include \
210af5543f8ea20c3e655b2d748a1b7dcf283792feElliott Hughes	external/icu4c/common \
220af5543f8ea20c3e655b2d748a1b7dcf283792feElliott Hughes	external/icu4c/i18n \
238d768a954b101a9532f980253ac46be2c53aba11Elliott Hughes	external/valgrind/dynamic_annotations \
24c143c55718342519db5398e41dda31422cf16c79buzbee	external/zlib \
25c143c55718342519db5398e41dda31422cf16c79buzbee	art/src \
26c143c55718342519db5398e41dda31422cf16c79buzbee	dalvik/libdex
27b0460eaa2cb131f1dbdd5a7217bd36b9a9f1b995Brian Carlstrom
281d3f114124b140629a7d22fa5cfa20ab8fc96934Elliott Hughesart_cflags := \
297f40ffcb953870fb0df7646c447ffdc7b3ef0b2cElliott Hughes	-O2 \
301fb8620309a4e94d11879aabc33364acfa733904Carl Shapiro	-ggdb3 \
311fb8620309a4e94d11879aabc33364acfa733904Carl Shapiro	-Wall \
321fb8620309a4e94d11879aabc33364acfa733904Carl Shapiro	-Werror \
331fb8620309a4e94d11879aabc33364acfa733904Carl Shapiro	-Wextra \
341fb8620309a4e94d11879aabc33364acfa733904Carl Shapiro	-Wno-unused-parameter \
351fb8620309a4e94d11879aabc33364acfa733904Carl Shapiro	-Wstrict-aliasing=2 \
361fb8620309a4e94d11879aabc33364acfa733904Carl Shapiro	-fno-align-jumps \
371fb8620309a4e94d11879aabc33364acfa733904Carl Shapiro	-fstrict-aliasing
381fb8620309a4e94d11879aabc33364acfa733904Carl Shapiro
391d3f114124b140629a7d22fa5cfa20ab8fc96934Elliott HughesART_HOST_CFLAGS := $(art_cflags) -DANDROID_SMP=1
401d3f114124b140629a7d22fa5cfa20ab8fc96934Elliott Hughes
411d3f114124b140629a7d22fa5cfa20ab8fc96934Elliott HughesART_TARGET_CFLAGS := $(art_cflags)
421d3f114124b140629a7d22fa5cfa20ab8fc96934Elliott Hughesifeq ($(TARGET_CPU_SMP),true)
431d3f114124b140629a7d22fa5cfa20ab8fc96934Elliott Hughes  ART_TARGET_CFLAGS += -DANDROID_SMP=1
441d3f114124b140629a7d22fa5cfa20ab8fc96934Elliott Hugheselse
451d3f114124b140629a7d22fa5cfa20ab8fc96934Elliott Hughes  ART_TARGET_CFLAGS += -DANDROID_SMP=0
461d3f114124b140629a7d22fa5cfa20ab8fc96934Elliott Hughesendif
471d3f114124b140629a7d22fa5cfa20ab8fc96934Elliott Hughes
481d3f114124b140629a7d22fa5cfa20ab8fc96934Elliott Hughes
4969b15fb098162f19a4c20e6dccdcead04d9c77f0Brian CarlstromDEX2OAT_SRC_FILES := \
5069b15fb098162f19a4c20e6dccdcead04d9c77f0Brian Carlstrom	src/dex2oat.cc
5169b15fb098162f19a4c20e6dccdcead04d9c77f0Brian Carlstrom
5269b15fb098162f19a4c20e6dccdcead04d9c77f0Brian CarlstromOATEXEC_SRC_FILES := \
5369b15fb098162f19a4c20e6dccdcead04d9c77f0Brian Carlstrom	src/oatexec.cc
549bf84fd5b69f17ad3e3dca37aa021bdc4246259eCarl Shapiro
55934486cf07c578b6494417ca5dcbae89cf04b019Brian CarlstromLIBART_COMMON_SRC_FILES := \
56a5d5cfda6239d8876937e75eba43222f639d2447Carl Shapiro	src/assembler.cc \
572c8f653c98d658419f464b6147c10e11a664d2e6Ian Rogers	src/assembler_arm.cc \
582c8f653c98d658419f464b6147c10e11a664d2e6Ian Rogers	src/assembler_x86.cc \
595ea047b386c5dac78eda62305d14dedf7b5611a8Elliott Hughes	src/atomic.cc.arm \
60b033c75ebda80ac75f936366fe78d1edf5cec937Ian Rogers	src/calling_convention.cc \
612c8f653c98d658419f464b6147c10e11a664d2e6Ian Rogers	src/calling_convention_arm.cc \
622c8f653c98d658419f464b6147c10e11a664d2e6Ian Rogers	src/calling_convention_x86.cc \
63a2501990dd0f68baf38ce19251949d7bb3ecfe5aElliott Hughes	src/check_jni.cc \
640e5d75d5ca2b8a44fab0c862276a466cbab39859Carl Shapiro	src/class_linker.cc \
651f87008b165d26541d832ff805250afdc89c253dBrian Carlstrom	src/class_loader.cc \
669ea1cb1a22be5b85dc2622e3836c46a1c48e3f25Brian Carlstrom	src/compiler.cc \
672cc022b653e1e84eed2522254ec684bd097572b8Brian Carlstrom	src/compiler/Dataflow.cc \
682cc022b653e1e84eed2522254ec684bd097572b8Brian Carlstrom	src/compiler/Frontend.cc \
692cc022b653e1e84eed2522254ec684bd097572b8Brian Carlstrom	src/compiler/IntermediateRep.cc \
702cc022b653e1e84eed2522254ec684bd097572b8Brian Carlstrom	src/compiler/Ralloc.cc \
712cc022b653e1e84eed2522254ec684bd097572b8Brian Carlstrom	src/compiler/SSATransformation.cc \
722cc022b653e1e84eed2522254ec684bd097572b8Brian Carlstrom	src/compiler/Utility.cc \
732cc022b653e1e84eed2522254ec684bd097572b8Brian Carlstrom	src/compiler/codegen/RallocUtil.cc \
742cc022b653e1e84eed2522254ec684bd097572b8Brian Carlstrom	src/compiler/codegen/arm/ArchUtility.cc \
752cc022b653e1e84eed2522254ec684bd097572b8Brian Carlstrom	src/compiler/codegen/arm/ArmRallocUtil.cc \
762cc022b653e1e84eed2522254ec684bd097572b8Brian Carlstrom	src/compiler/codegen/arm/Assemble.cc \
772cc022b653e1e84eed2522254ec684bd097572b8Brian Carlstrom	src/compiler/codegen/arm/LocalOptimizations.cc \
782cc022b653e1e84eed2522254ec684bd097572b8Brian Carlstrom	src/compiler/codegen/arm/armv7-a/Codegen.cc \
798daa0929f08a3080ea64dbd4e997e72f411e6fc9Elliott Hughes	src/dalvik_system_VMStack.cc \
807e49dca262933bc30cbc8b9f07cfc8cce2343389Brian Carlstrom	src/dex_cache.cc \
811fb8620309a4e94d11879aabc33364acfa733904Carl Shapiro	src/dex_file.cc \
8212eb78e651f13f2c1f0c2c922048a5a213253adfCarl Shapiro	src/dex_instruction.cc \
830e5d75d5ca2b8a44fab0c862276a466cbab39859Carl Shapiro	src/dex_verifier.cc \
84db4d54081f09abcbe97ffdf615874f2809a9e777Brian Carlstrom	src/file.cc \
85db4d54081f09abcbe97ffdf615874f2809a9e777Brian Carlstrom	src/file_linux.cc \
8669759eaa6fd4386f1e6d8748052ad221087b3476Carl Shapiro	src/heap.cc \
874a289ed61242964b921434de7d375f46480472a1Brian Carlstrom	src/image.cc \
88db4d54081f09abcbe97ffdf615874f2809a9e777Brian Carlstrom	src/image_writer.cc \
896c1a394b47c85c8d1723fc3b156a3b1b0b29a757Elliott Hughes	src/indirect_reference_table.cc \
907e93b50433cde2a44d99212e8040299bde498546Brian Carlstrom	src/intern_table.cc \
91d369bb76dee0df2d2a106e9bf7f4e6446ed6deaaElliott Hughes	src/java_lang_Class.cc \
92bf86d0438e9ef9c145ebcf16a2e74c4efaa2686aElliott Hughes	src/java_lang_Object.cc \
93bf86d0438e9ef9c145ebcf16a2e74c4efaa2686aElliott Hughes	src/java_lang_Runtime.cc \
94bf86d0438e9ef9c145ebcf16a2e74c4efaa2686aElliott Hughes	src/java_lang_String.cc \
95bf86d0438e9ef9c145ebcf16a2e74c4efaa2686aElliott Hughes	src/java_lang_System.cc \
968daa0929f08a3080ea64dbd4e997e72f411e6fc9Elliott Hughes	src/java_lang_Thread.cc \
971240dade91d6c4bbf4e367ca608fcdc15348da45Elliott Hughes	src/java_lang_Throwable.cc \
98bf86d0438e9ef9c145ebcf16a2e74c4efaa2686aElliott Hughes	src/java_util_concurrent_atomic_AtomicLong.cc \
99b033c75ebda80ac75f936366fe78d1edf5cec937Ian Rogers	src/jni_compiler.cc \
100df20fe0c097073f75f22d16e72fd3636a31d3ca1Ian Rogers	src/jni_internal.cc \
1012c8f653c98d658419f464b6147c10e11a664d2e6Ian Rogers	src/jni_internal_arm.cc \
1022c8f653c98d658419f464b6147c10e11a664d2e6Ian Rogers	src/jni_internal_x86.cc \
10342ee14279065352a4b9a3e8028d02c567e847d05Elliott Hughes	src/logging.cc \
10469759eaa6fd4386f1e6d8748052ad221087b3476Carl Shapiro	src/mark_stack.cc \
10569759eaa6fd4386f1e6d8748052ad221087b3476Carl Shapiro	src/mark_sweep.cc \
1062c8f653c98d658419f464b6147c10e11a664d2e6Ian Rogers	src/managed_register_arm.cc \
1072c8f653c98d658419f464b6147c10e11a664d2e6Ian Rogers	src/managed_register_x86.cc \
1081fb8620309a4e94d11879aabc33364acfa733904Carl Shapiro	src/memory_region.cc \
10969759eaa6fd4386f1e6d8748052ad221087b3476Carl Shapiro	src/mspace.c \
1108daa0929f08a3080ea64dbd4e997e72f411e6fc9Elliott Hughes	src/mutex.cc \
1113ee755da5c1c17b6a29052d171a8a63c0eb0b052Carl Shapiro	src/object.cc \
11269759eaa6fd4386f1e6d8748052ad221087b3476Carl Shapiro	src/object_bitmap.cc \
11369759eaa6fd4386f1e6d8748052ad221087b3476Carl Shapiro	src/offsets.cc \
114db4d54081f09abcbe97ffdf615874f2809a9e777Brian Carlstrom	src/os_linux.cc \
11511e45077acba2e757799a00b3be9d63fec36a7ccElliott Hughes	src/reference_table.cc \
116d4e48fdd5f8baad270a82120a912106b98074501Carl Shapiro	src/runtime.cc \
117e27955ca3ca960928d4dbd6cb79711fce06950b3Elliott Hughes	src/signal_catcher.cc \
11869759eaa6fd4386f1e6d8748052ad221087b3476Carl Shapiro	src/space.cc \
119b557353b22c728eecbd1c68593b482622c7782a8Carl Shapiro	src/stringpiece.cc \
120eb4f614f2eb53b92ebd416fa418f550861655887Elliott Hughes	src/stringprintf.cc \
12131384c59bb4b387f29f2b6d4d3db886c29b81170Shih-wei Liao	src/stub_arm.cc \
12231384c59bb4b387f29f2b6d4d3db886c29b81170Shih-wei Liao	src/stub_x86.cc \
1235ee7a8b56dee896245e0f4ae5215f8b7376c1787Elliott Hughes	src/sun_misc_Unsafe.cc \
124b0460eaa2cb131f1dbdd5a7217bd36b9a9f1b995Brian Carlstrom	src/thread.cc \
1258daa0929f08a3080ea64dbd4e997e72f411e6fc9Elliott Hughes	src/thread_list.cc \
126814e40397fe6c8a2c645bae99f356dbddd6dbe18Elliott Hughes	src/utf.cc \
12711e45077acba2e757799a00b3be9d63fec36a7ccElliott Hughes	src/utils.cc \
1285433072f589b61413e042eddf76e8190a048f71dbuzbee	src/zip_archive.cc \
1295433072f589b61413e042eddf76e8190a048f71dbuzbee	src/runtime_support.S
130a5d5cfda6239d8876937e75eba43222f639d2447Carl Shapiro
131934486cf07c578b6494417ca5dcbae89cf04b019Brian CarlstromLIBART_TARGET_SRC_FILES := \
132934486cf07c578b6494417ca5dcbae89cf04b019Brian Carlstrom	$(LIBART_COMMON_SRC_FILES) \
133ffe6736397d17457188727510f0a2953f69a383aElliott Hughes	src/logging_android.cc \
134b033c75ebda80ac75f936366fe78d1edf5cec937Ian Rogers	src/runtime_android.cc \
1358daa0929f08a3080ea64dbd4e997e72f411e6fc9Elliott Hughes	src/thread_android.cc \
136b033c75ebda80ac75f936366fe78d1edf5cec937Ian Rogers	src/thread_arm.cc
137a5d5cfda6239d8876937e75eba43222f639d2447Carl Shapiro
138934486cf07c578b6494417ca5dcbae89cf04b019Brian CarlstromLIBART_HOST_SRC_FILES := \
139934486cf07c578b6494417ca5dcbae89cf04b019Brian Carlstrom	$(LIBART_COMMON_SRC_FILES) \
140ffe6736397d17457188727510f0a2953f69a383aElliott Hughes	src/logging_linux.cc \
141b033c75ebda80ac75f936366fe78d1edf5cec937Ian Rogers	src/runtime_linux.cc \
1428daa0929f08a3080ea64dbd4e997e72f411e6fc9Elliott Hughes	src/thread_linux.cc \
143b033c75ebda80ac75f936366fe78d1edf5cec937Ian Rogers	src/thread_x86.cc
144c981ace51da03ca6a9cd100c2c4d6c9bf6100138Jesse Wilson
145cdc8de4642ca447a7ed205f0d2203cb217e48aadBrian CarlstromLIBARTTEST_COMMON_SRC_FILES := \
14631384c59bb4b387f29f2b6d4d3db886c29b81170Shih-wei Liao	src/base64.cc \
14731384c59bb4b387f29f2b6d4d3db886c29b81170Shih-wei Liao	src/jni_tests.cc
148cdc8de4642ca447a7ed205f0d2203cb217e48aadBrian Carlstrom
149934486cf07c578b6494417ca5dcbae89cf04b019Brian CarlstromTEST_COMMON_SRC_FILES := \
1500e5d75d5ca2b8a44fab0c862276a466cbab39859Carl Shapiro	src/class_linker_test.cc \
1517e49dca262933bc30cbc8b9f07cfc8cce2343389Brian Carlstrom	src/dex_cache_test.cc \
1521fb8620309a4e94d11879aabc33364acfa733904Carl Shapiro	src/dex_file_test.cc \
1531fb8620309a4e94d11879aabc33364acfa733904Carl Shapiro	src/dex_instruction_visitor_test.cc \
154ba5ebb944b7c5c6a1b754b6dd47eed96f39aea29jeffhao	src/dex_verifier_test.cc \
1552fb9753c58ce1a511fd6996856840120eb2930dbShih-wei Liao	src/exception_test.cc \
156db4d54081f09abcbe97ffdf615874f2809a9e777Brian Carlstrom	src/file_test.cc \
1571f87008b165d26541d832ff805250afdc89c253dBrian Carlstrom	src/heap_test.cc \
158db4d54081f09abcbe97ffdf615874f2809a9e777Brian Carlstrom	src/image_test.cc \
1596c1a394b47c85c8d1723fc3b156a3b1b0b29a757Elliott Hughes	src/indirect_reference_table_test.cc \
1607e93b50433cde2a44d99212e8040299bde498546Brian Carlstrom	src/intern_table_test.cc \
161cd2764fda5dc4eeccb0c66fcc06eb91f70b98e24Ian Rogers	src/jni_internal_test.cc \
162cd2764fda5dc4eeccb0c66fcc06eb91f70b98e24Ian Rogers	src/jni_compiler_test.cc \
1632c8f653c98d658419f464b6147c10e11a664d2e6Ian Rogers	src/managed_register_arm_test.cc \
1642c8f653c98d658419f464b6147c10e11a664d2e6Ian Rogers	src/managed_register_x86_test.cc \
165894d0fab562badca5c2f01a5c2adc8de756c08adCarl Shapiro	src/object_test.cc \
16611e45077acba2e757799a00b3be9d63fec36a7ccElliott Hughes	src/reference_table_test.cc \
167fc322c72d7a89a6f7a05c8bdc232d780aecd9232Carl Shapiro	src/runtime_test.cc \
168b0460eaa2cb131f1dbdd5a7217bd36b9a9f1b995Brian Carlstrom	src/space_test.cc \
16911e45077acba2e757799a00b3be9d63fec36a7ccElliott Hughes	src/utils_test.cc \
170c143c55718342519db5398e41dda31422cf16c79buzbee	src/zip_archive_test.cc \
171c143c55718342519db5398e41dda31422cf16c79buzbee	src/compiler_test.cc
172008e41230a702ddb4c558fca95af5d84d56b51cbCarl Shapiro
173934486cf07c578b6494417ca5dcbae89cf04b019Brian CarlstromTEST_TARGET_SRC_FILES := \
1742c8f653c98d658419f464b6147c10e11a664d2e6Ian Rogers	$(TEST_COMMON_SRC_FILES)
175c981ace51da03ca6a9cd100c2c4d6c9bf6100138Jesse Wilson
176934486cf07c578b6494417ca5dcbae89cf04b019Brian CarlstromTEST_HOST_SRC_FILES := \
177934486cf07c578b6494417ca5dcbae89cf04b019Brian Carlstrom	$(TEST_COMMON_SRC_FILES) \
1782c8f653c98d658419f464b6147c10e11a664d2e6Ian Rogers	src/assembler_x86_test.cc
1799f30b38d74990286ce27c3a45368f73dbe3638f0Brian Carlstrom
1809f30b38d74990286ce27c3a45368f73dbe3638f0Brian Carlstrom# subdirectories of test/
1819f30b38d74990286ce27c3a45368f73dbe3638f0Brian CarlstromTEST_DEX_DIRECTORIES := \
182303b01ed0d36017371e29b1f1e209dd19896ac9eShih-wei Liao	AbstractMethod \
1839f30b38d74990286ce27c3a45368f73dbe3638f0Brian Carlstrom	AllFields \
1849f30b38d74990286ce27c3a45368f73dbe3638f0Brian Carlstrom	CreateMethodDescriptor \
18543a364291dcdfe08e530e9568748359735dd7442buzbee	ExceptionTest \
1869f30b38d74990286ce27c3a45368f73dbe3638f0Brian Carlstrom	Fibonacci \
18769b15fb098162f19a4c20e6dccdcead04d9c77f0Brian Carlstrom	HelloWorld \
1889f30b38d74990286ce27c3a45368f73dbe3638f0Brian Carlstrom	IntMath \
1899f30b38d74990286ce27c3a45368f73dbe3638f0Brian Carlstrom	Interfaces \
1909f30b38d74990286ce27c3a45368f73dbe3638f0Brian Carlstrom	Main \
1919f30b38d74990286ce27c3a45368f73dbe3638f0Brian Carlstrom	MyClass \
1929f30b38d74990286ce27c3a45368f73dbe3638f0Brian Carlstrom	MyClassNatives \
1939f30b38d74990286ce27c3a45368f73dbe3638f0Brian Carlstrom	Nested \
1949f30b38d74990286ce27c3a45368f73dbe3638f0Brian Carlstrom	ProtoCompare \
1959f30b38d74990286ce27c3a45368f73dbe3638f0Brian Carlstrom	ProtoCompare2 \
1969f30b38d74990286ce27c3a45368f73dbe3638f0Brian Carlstrom	StaticLeafMethods \
1979f30b38d74990286ce27c3a45368f73dbe3638f0Brian Carlstrom	Statics \
1980f4c41d75c821162184501cd4b510a93f6eb580fElliott Hughes	SystemMethods \
199109bd6a38d0cd7c4b7797a9f2db8324c797d1368buzbee	Invoke \
2009f30b38d74990286ce27c3a45368f73dbe3638f0Brian Carlstrom	XandY
2014b620ffb1b4d0c96a94bb3afe314f35d53990ec6Brian Carlstrom
2024b620ffb1b4d0c96a94bb3afe314f35d53990ec6Brian CarlstromART_BUILD_TARGET := false
2034b620ffb1b4d0c96a94bb3afe314f35d53990ec6Brian CarlstromART_BUILD_HOST := false
2044b620ffb1b4d0c96a94bb3afe314f35d53990ec6Brian Carlstromifeq ($(ART_BUILD_TARGET_NDEBUG),true)
2054b620ffb1b4d0c96a94bb3afe314f35d53990ec6Brian Carlstrom  ART_BUILD_TARGET := true
2064b620ffb1b4d0c96a94bb3afe314f35d53990ec6Brian Carlstromendif
2074b620ffb1b4d0c96a94bb3afe314f35d53990ec6Brian Carlstromifeq ($(ART_BUILD_TARGET_DEBUG),true)
2084b620ffb1b4d0c96a94bb3afe314f35d53990ec6Brian Carlstrom  ART_BUILD_TARGET := true
2094b620ffb1b4d0c96a94bb3afe314f35d53990ec6Brian Carlstromendif
2104b620ffb1b4d0c96a94bb3afe314f35d53990ec6Brian Carlstromifeq ($(ART_BUILD_HOST_NDEBUG),true)
2114b620ffb1b4d0c96a94bb3afe314f35d53990ec6Brian Carlstrom  ART_BUILD_HOST := true
2124b620ffb1b4d0c96a94bb3afe314f35d53990ec6Brian Carlstromendif
2134b620ffb1b4d0c96a94bb3afe314f35d53990ec6Brian Carlstromifeq ($(ART_BUILD_HOST_DEBUG),true)
2144b620ffb1b4d0c96a94bb3afe314f35d53990ec6Brian Carlstrom  ART_BUILD_HOST := true
2154b620ffb1b4d0c96a94bb3afe314f35d53990ec6Brian Carlstromendif
216