Android.common.mk revision 5ea047b386c5dac78eda62305d14dedf7b5611a8
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 \
23c143c55718342519db5398e41dda31422cf16c79buzbee	external/zlib \
24c143c55718342519db5398e41dda31422cf16c79buzbee	art/src \
25c143c55718342519db5398e41dda31422cf16c79buzbee	dalvik/libdex
26b0460eaa2cb131f1dbdd5a7217bd36b9a9f1b995Brian Carlstrom
271d3f114124b140629a7d22fa5cfa20ab8fc96934Elliott Hughesart_cflags := \
287f40ffcb953870fb0df7646c447ffdc7b3ef0b2cElliott Hughes	-O2 \
291fb8620309a4e94d11879aabc33364acfa733904Carl Shapiro	-ggdb3 \
301fb8620309a4e94d11879aabc33364acfa733904Carl Shapiro	-Wall \
311fb8620309a4e94d11879aabc33364acfa733904Carl Shapiro	-Werror \
321fb8620309a4e94d11879aabc33364acfa733904Carl Shapiro	-Wextra \
331fb8620309a4e94d11879aabc33364acfa733904Carl Shapiro	-Wno-unused-parameter \
341fb8620309a4e94d11879aabc33364acfa733904Carl Shapiro	-Wstrict-aliasing=2 \
351fb8620309a4e94d11879aabc33364acfa733904Carl Shapiro	-fno-align-jumps \
361fb8620309a4e94d11879aabc33364acfa733904Carl Shapiro	-fstrict-aliasing
371fb8620309a4e94d11879aabc33364acfa733904Carl Shapiro
381d3f114124b140629a7d22fa5cfa20ab8fc96934Elliott HughesART_HOST_CFLAGS := $(art_cflags) -DANDROID_SMP=1
391d3f114124b140629a7d22fa5cfa20ab8fc96934Elliott Hughes
401d3f114124b140629a7d22fa5cfa20ab8fc96934Elliott HughesART_TARGET_CFLAGS := $(art_cflags)
411d3f114124b140629a7d22fa5cfa20ab8fc96934Elliott Hughesifeq ($(TARGET_CPU_SMP),true)
421d3f114124b140629a7d22fa5cfa20ab8fc96934Elliott Hughes  ART_TARGET_CFLAGS += -DANDROID_SMP=1
431d3f114124b140629a7d22fa5cfa20ab8fc96934Elliott Hugheselse
441d3f114124b140629a7d22fa5cfa20ab8fc96934Elliott Hughes  ART_TARGET_CFLAGS += -DANDROID_SMP=0
451d3f114124b140629a7d22fa5cfa20ab8fc96934Elliott Hughesendif
461d3f114124b140629a7d22fa5cfa20ab8fc96934Elliott Hughes
471d3f114124b140629a7d22fa5cfa20ab8fc96934Elliott Hughes
4869b15fb098162f19a4c20e6dccdcead04d9c77f0Brian CarlstromDEX2OAT_SRC_FILES := \
4969b15fb098162f19a4c20e6dccdcead04d9c77f0Brian Carlstrom	src/dex2oat.cc
5069b15fb098162f19a4c20e6dccdcead04d9c77f0Brian Carlstrom
5169b15fb098162f19a4c20e6dccdcead04d9c77f0Brian CarlstromOATEXEC_SRC_FILES := \
5269b15fb098162f19a4c20e6dccdcead04d9c77f0Brian Carlstrom	src/oatexec.cc
539bf84fd5b69f17ad3e3dca37aa021bdc4246259eCarl Shapiro
54934486cf07c578b6494417ca5dcbae89cf04b019Brian CarlstromLIBART_COMMON_SRC_FILES := \
55a5d5cfda6239d8876937e75eba43222f639d2447Carl Shapiro	src/assembler.cc \
562c8f653c98d658419f464b6147c10e11a664d2e6Ian Rogers	src/assembler_arm.cc \
572c8f653c98d658419f464b6147c10e11a664d2e6Ian Rogers	src/assembler_x86.cc \
585ea047b386c5dac78eda62305d14dedf7b5611a8Elliott Hughes	src/atomic.cc.arm \
59b033c75ebda80ac75f936366fe78d1edf5cec937Ian Rogers	src/calling_convention.cc \
602c8f653c98d658419f464b6147c10e11a664d2e6Ian Rogers	src/calling_convention_arm.cc \
612c8f653c98d658419f464b6147c10e11a664d2e6Ian Rogers	src/calling_convention_x86.cc \
62a2501990dd0f68baf38ce19251949d7bb3ecfe5aElliott Hughes	src/check_jni.cc \
630e5d75d5ca2b8a44fab0c862276a466cbab39859Carl Shapiro	src/class_linker.cc \
641f87008b165d26541d832ff805250afdc89c253dBrian Carlstrom	src/class_loader.cc \
659ea1cb1a22be5b85dc2622e3836c46a1c48e3f25Brian Carlstrom	src/compiler.cc \
662cc022b653e1e84eed2522254ec684bd097572b8Brian Carlstrom	src/compiler/Dataflow.cc \
672cc022b653e1e84eed2522254ec684bd097572b8Brian Carlstrom	src/compiler/Frontend.cc \
682cc022b653e1e84eed2522254ec684bd097572b8Brian Carlstrom	src/compiler/IntermediateRep.cc \
692cc022b653e1e84eed2522254ec684bd097572b8Brian Carlstrom	src/compiler/Ralloc.cc \
702cc022b653e1e84eed2522254ec684bd097572b8Brian Carlstrom	src/compiler/SSATransformation.cc \
712cc022b653e1e84eed2522254ec684bd097572b8Brian Carlstrom	src/compiler/Utility.cc \
722cc022b653e1e84eed2522254ec684bd097572b8Brian Carlstrom	src/compiler/codegen/RallocUtil.cc \
732cc022b653e1e84eed2522254ec684bd097572b8Brian Carlstrom	src/compiler/codegen/arm/ArchUtility.cc \
742cc022b653e1e84eed2522254ec684bd097572b8Brian Carlstrom	src/compiler/codegen/arm/ArmRallocUtil.cc \
752cc022b653e1e84eed2522254ec684bd097572b8Brian Carlstrom	src/compiler/codegen/arm/Assemble.cc \
762cc022b653e1e84eed2522254ec684bd097572b8Brian Carlstrom	src/compiler/codegen/arm/LocalOptimizations.cc \
772cc022b653e1e84eed2522254ec684bd097572b8Brian Carlstrom	src/compiler/codegen/arm/armv7-a/Codegen.cc \
788daa0929f08a3080ea64dbd4e997e72f411e6fc9Elliott Hughes	src/dalvik_system_VMStack.cc \
797e49dca262933bc30cbc8b9f07cfc8cce2343389Brian Carlstrom	src/dex_cache.cc \
801fb8620309a4e94d11879aabc33364acfa733904Carl Shapiro	src/dex_file.cc \
8112eb78e651f13f2c1f0c2c922048a5a213253adfCarl Shapiro	src/dex_instruction.cc \
820e5d75d5ca2b8a44fab0c862276a466cbab39859Carl Shapiro	src/dex_verifier.cc \
83db4d54081f09abcbe97ffdf615874f2809a9e777Brian Carlstrom	src/file.cc \
84db4d54081f09abcbe97ffdf615874f2809a9e777Brian Carlstrom	src/file_linux.cc \
8569759eaa6fd4386f1e6d8748052ad221087b3476Carl Shapiro	src/heap.cc \
864a289ed61242964b921434de7d375f46480472a1Brian Carlstrom	src/image.cc \
87db4d54081f09abcbe97ffdf615874f2809a9e777Brian Carlstrom	src/image_writer.cc \
886c1a394b47c85c8d1723fc3b156a3b1b0b29a757Elliott Hughes	src/indirect_reference_table.cc \
897e93b50433cde2a44d99212e8040299bde498546Brian Carlstrom	src/intern_table.cc \
90d369bb76dee0df2d2a106e9bf7f4e6446ed6deaaElliott Hughes	src/java_lang_Class.cc \
91bf86d0438e9ef9c145ebcf16a2e74c4efaa2686aElliott Hughes	src/java_lang_Object.cc \
92bf86d0438e9ef9c145ebcf16a2e74c4efaa2686aElliott Hughes	src/java_lang_Runtime.cc \
93bf86d0438e9ef9c145ebcf16a2e74c4efaa2686aElliott Hughes	src/java_lang_String.cc \
94bf86d0438e9ef9c145ebcf16a2e74c4efaa2686aElliott Hughes	src/java_lang_System.cc \
958daa0929f08a3080ea64dbd4e997e72f411e6fc9Elliott Hughes	src/java_lang_Thread.cc \
961240dade91d6c4bbf4e367ca608fcdc15348da45Elliott Hughes	src/java_lang_Throwable.cc \
97bf86d0438e9ef9c145ebcf16a2e74c4efaa2686aElliott Hughes	src/java_util_concurrent_atomic_AtomicLong.cc \
98b033c75ebda80ac75f936366fe78d1edf5cec937Ian Rogers	src/jni_compiler.cc \
99df20fe0c097073f75f22d16e72fd3636a31d3ca1Ian Rogers	src/jni_internal.cc \
1002c8f653c98d658419f464b6147c10e11a664d2e6Ian Rogers	src/jni_internal_arm.cc \
1012c8f653c98d658419f464b6147c10e11a664d2e6Ian Rogers	src/jni_internal_x86.cc \
10242ee14279065352a4b9a3e8028d02c567e847d05Elliott Hughes	src/logging.cc \
10369759eaa6fd4386f1e6d8748052ad221087b3476Carl Shapiro	src/mark_stack.cc \
10469759eaa6fd4386f1e6d8748052ad221087b3476Carl Shapiro	src/mark_sweep.cc \
1052c8f653c98d658419f464b6147c10e11a664d2e6Ian Rogers	src/managed_register_arm.cc \
1062c8f653c98d658419f464b6147c10e11a664d2e6Ian Rogers	src/managed_register_x86.cc \
1071fb8620309a4e94d11879aabc33364acfa733904Carl Shapiro	src/memory_region.cc \
10869759eaa6fd4386f1e6d8748052ad221087b3476Carl Shapiro	src/mspace.c \
1098daa0929f08a3080ea64dbd4e997e72f411e6fc9Elliott Hughes	src/mutex.cc \
1103ee755da5c1c17b6a29052d171a8a63c0eb0b052Carl Shapiro	src/object.cc \
11169759eaa6fd4386f1e6d8748052ad221087b3476Carl Shapiro	src/object_bitmap.cc \
11269759eaa6fd4386f1e6d8748052ad221087b3476Carl Shapiro	src/offsets.cc \
113db4d54081f09abcbe97ffdf615874f2809a9e777Brian Carlstrom	src/os_linux.cc \
11411e45077acba2e757799a00b3be9d63fec36a7ccElliott Hughes	src/reference_table.cc \
115d4e48fdd5f8baad270a82120a912106b98074501Carl Shapiro	src/runtime.cc \
116e27955ca3ca960928d4dbd6cb79711fce06950b3Elliott Hughes	src/signal_catcher.cc \
11769759eaa6fd4386f1e6d8748052ad221087b3476Carl Shapiro	src/space.cc \
118b557353b22c728eecbd1c68593b482622c7782a8Carl Shapiro	src/stringpiece.cc \
119eb4f614f2eb53b92ebd416fa418f550861655887Elliott Hughes	src/stringprintf.cc \
12031384c59bb4b387f29f2b6d4d3db886c29b81170Shih-wei Liao	src/stub_arm.cc \
12131384c59bb4b387f29f2b6d4d3db886c29b81170Shih-wei Liao	src/stub_x86.cc \
122b0460eaa2cb131f1dbdd5a7217bd36b9a9f1b995Brian Carlstrom	src/thread.cc \
1238daa0929f08a3080ea64dbd4e997e72f411e6fc9Elliott Hughes	src/thread_list.cc \
124814e40397fe6c8a2c645bae99f356dbddd6dbe18Elliott Hughes	src/utf.cc \
12511e45077acba2e757799a00b3be9d63fec36a7ccElliott Hughes	src/utils.cc \
1265433072f589b61413e042eddf76e8190a048f71dbuzbee	src/zip_archive.cc \
1275433072f589b61413e042eddf76e8190a048f71dbuzbee	src/runtime_support.S
128a5d5cfda6239d8876937e75eba43222f639d2447Carl Shapiro
129934486cf07c578b6494417ca5dcbae89cf04b019Brian CarlstromLIBART_TARGET_SRC_FILES := \
130934486cf07c578b6494417ca5dcbae89cf04b019Brian Carlstrom	$(LIBART_COMMON_SRC_FILES) \
131ffe6736397d17457188727510f0a2953f69a383aElliott Hughes	src/logging_android.cc \
132b033c75ebda80ac75f936366fe78d1edf5cec937Ian Rogers	src/runtime_android.cc \
1338daa0929f08a3080ea64dbd4e997e72f411e6fc9Elliott Hughes	src/thread_android.cc \
134b033c75ebda80ac75f936366fe78d1edf5cec937Ian Rogers	src/thread_arm.cc
135a5d5cfda6239d8876937e75eba43222f639d2447Carl Shapiro
136934486cf07c578b6494417ca5dcbae89cf04b019Brian CarlstromLIBART_HOST_SRC_FILES := \
137934486cf07c578b6494417ca5dcbae89cf04b019Brian Carlstrom	$(LIBART_COMMON_SRC_FILES) \
138ffe6736397d17457188727510f0a2953f69a383aElliott Hughes	src/logging_linux.cc \
139b033c75ebda80ac75f936366fe78d1edf5cec937Ian Rogers	src/runtime_linux.cc \
1408daa0929f08a3080ea64dbd4e997e72f411e6fc9Elliott Hughes	src/thread_linux.cc \
141b033c75ebda80ac75f936366fe78d1edf5cec937Ian Rogers	src/thread_x86.cc
142c981ace51da03ca6a9cd100c2c4d6c9bf6100138Jesse Wilson
143cdc8de4642ca447a7ed205f0d2203cb217e48aadBrian CarlstromLIBARTTEST_COMMON_SRC_FILES := \
14431384c59bb4b387f29f2b6d4d3db886c29b81170Shih-wei Liao	src/base64.cc \
14531384c59bb4b387f29f2b6d4d3db886c29b81170Shih-wei Liao	src/jni_tests.cc
146cdc8de4642ca447a7ed205f0d2203cb217e48aadBrian Carlstrom
147934486cf07c578b6494417ca5dcbae89cf04b019Brian CarlstromTEST_COMMON_SRC_FILES := \
1480e5d75d5ca2b8a44fab0c862276a466cbab39859Carl Shapiro	src/class_linker_test.cc \
1497e49dca262933bc30cbc8b9f07cfc8cce2343389Brian Carlstrom	src/dex_cache_test.cc \
1501fb8620309a4e94d11879aabc33364acfa733904Carl Shapiro	src/dex_file_test.cc \
1511fb8620309a4e94d11879aabc33364acfa733904Carl Shapiro	src/dex_instruction_visitor_test.cc \
152ba5ebb944b7c5c6a1b754b6dd47eed96f39aea29jeffhao	src/dex_verifier_test.cc \
1532fb9753c58ce1a511fd6996856840120eb2930dbShih-wei Liao	src/exception_test.cc \
154db4d54081f09abcbe97ffdf615874f2809a9e777Brian Carlstrom	src/file_test.cc \
1551f87008b165d26541d832ff805250afdc89c253dBrian Carlstrom	src/heap_test.cc \
156db4d54081f09abcbe97ffdf615874f2809a9e777Brian Carlstrom	src/image_test.cc \
1576c1a394b47c85c8d1723fc3b156a3b1b0b29a757Elliott Hughes	src/indirect_reference_table_test.cc \
1587e93b50433cde2a44d99212e8040299bde498546Brian Carlstrom	src/intern_table_test.cc \
159cd2764fda5dc4eeccb0c66fcc06eb91f70b98e24Ian Rogers	src/jni_internal_test.cc \
160cd2764fda5dc4eeccb0c66fcc06eb91f70b98e24Ian Rogers	src/jni_compiler_test.cc \
1612c8f653c98d658419f464b6147c10e11a664d2e6Ian Rogers	src/managed_register_arm_test.cc \
1622c8f653c98d658419f464b6147c10e11a664d2e6Ian Rogers	src/managed_register_x86_test.cc \
163894d0fab562badca5c2f01a5c2adc8de756c08adCarl Shapiro	src/object_test.cc \
16411e45077acba2e757799a00b3be9d63fec36a7ccElliott Hughes	src/reference_table_test.cc \
165fc322c72d7a89a6f7a05c8bdc232d780aecd9232Carl Shapiro	src/runtime_test.cc \
166b0460eaa2cb131f1dbdd5a7217bd36b9a9f1b995Brian Carlstrom	src/space_test.cc \
16711e45077acba2e757799a00b3be9d63fec36a7ccElliott Hughes	src/utils_test.cc \
168c143c55718342519db5398e41dda31422cf16c79buzbee	src/zip_archive_test.cc \
169c143c55718342519db5398e41dda31422cf16c79buzbee	src/compiler_test.cc
170008e41230a702ddb4c558fca95af5d84d56b51cbCarl Shapiro
171934486cf07c578b6494417ca5dcbae89cf04b019Brian CarlstromTEST_TARGET_SRC_FILES := \
1722c8f653c98d658419f464b6147c10e11a664d2e6Ian Rogers	$(TEST_COMMON_SRC_FILES)
173c981ace51da03ca6a9cd100c2c4d6c9bf6100138Jesse Wilson
174934486cf07c578b6494417ca5dcbae89cf04b019Brian CarlstromTEST_HOST_SRC_FILES := \
175934486cf07c578b6494417ca5dcbae89cf04b019Brian Carlstrom	$(TEST_COMMON_SRC_FILES) \
1762c8f653c98d658419f464b6147c10e11a664d2e6Ian Rogers	src/assembler_x86_test.cc
1779f30b38d74990286ce27c3a45368f73dbe3638f0Brian Carlstrom
1789f30b38d74990286ce27c3a45368f73dbe3638f0Brian Carlstrom# subdirectories of test/
1799f30b38d74990286ce27c3a45368f73dbe3638f0Brian CarlstromTEST_DEX_DIRECTORIES := \
1809f30b38d74990286ce27c3a45368f73dbe3638f0Brian Carlstrom	AllFields \
1819f30b38d74990286ce27c3a45368f73dbe3638f0Brian Carlstrom	CreateMethodDescriptor \
1829f30b38d74990286ce27c3a45368f73dbe3638f0Brian Carlstrom	Fibonacci \
18369b15fb098162f19a4c20e6dccdcead04d9c77f0Brian Carlstrom	HelloWorld \
1849f30b38d74990286ce27c3a45368f73dbe3638f0Brian Carlstrom	IntMath \
1859f30b38d74990286ce27c3a45368f73dbe3638f0Brian Carlstrom	Interfaces \
1869f30b38d74990286ce27c3a45368f73dbe3638f0Brian Carlstrom	Main \
1879f30b38d74990286ce27c3a45368f73dbe3638f0Brian Carlstrom	MyClass \
1889f30b38d74990286ce27c3a45368f73dbe3638f0Brian Carlstrom	MyClassNatives \
1899f30b38d74990286ce27c3a45368f73dbe3638f0Brian Carlstrom	Nested \
1909f30b38d74990286ce27c3a45368f73dbe3638f0Brian Carlstrom	ProtoCompare \
1919f30b38d74990286ce27c3a45368f73dbe3638f0Brian Carlstrom	ProtoCompare2 \
1929f30b38d74990286ce27c3a45368f73dbe3638f0Brian Carlstrom	StaticLeafMethods \
1939f30b38d74990286ce27c3a45368f73dbe3638f0Brian Carlstrom	Statics \
1940f4c41d75c821162184501cd4b510a93f6eb580fElliott Hughes	SystemMethods \
195109bd6a38d0cd7c4b7797a9f2db8324c797d1368buzbee	Invoke \
1969f30b38d74990286ce27c3a45368f73dbe3638f0Brian Carlstrom	XandY
1974b620ffb1b4d0c96a94bb3afe314f35d53990ec6Brian Carlstrom
1984b620ffb1b4d0c96a94bb3afe314f35d53990ec6Brian CarlstromART_BUILD_TARGET := false
1994b620ffb1b4d0c96a94bb3afe314f35d53990ec6Brian CarlstromART_BUILD_HOST := false
2004b620ffb1b4d0c96a94bb3afe314f35d53990ec6Brian Carlstromifeq ($(ART_BUILD_TARGET_NDEBUG),true)
2014b620ffb1b4d0c96a94bb3afe314f35d53990ec6Brian Carlstrom  ART_BUILD_TARGET := true
2024b620ffb1b4d0c96a94bb3afe314f35d53990ec6Brian Carlstromendif
2034b620ffb1b4d0c96a94bb3afe314f35d53990ec6Brian Carlstromifeq ($(ART_BUILD_TARGET_DEBUG),true)
2044b620ffb1b4d0c96a94bb3afe314f35d53990ec6Brian Carlstrom  ART_BUILD_TARGET := true
2054b620ffb1b4d0c96a94bb3afe314f35d53990ec6Brian Carlstromendif
2064b620ffb1b4d0c96a94bb3afe314f35d53990ec6Brian Carlstromifeq ($(ART_BUILD_HOST_NDEBUG),true)
2074b620ffb1b4d0c96a94bb3afe314f35d53990ec6Brian Carlstrom  ART_BUILD_HOST := true
2084b620ffb1b4d0c96a94bb3afe314f35d53990ec6Brian Carlstromendif
2094b620ffb1b4d0c96a94bb3afe314f35d53990ec6Brian Carlstromifeq ($(ART_BUILD_HOST_DEBUG),true)
2104b620ffb1b4d0c96a94bb3afe314f35d53990ec6Brian Carlstrom  ART_BUILD_HOST := true
2114b620ffb1b4d0c96a94bb3afe314f35d53990ec6Brian Carlstromendif
212