Android.common.mk revision 24782c6aa7abf396de057d7eb15035b4c594a3b4
1# 2# Copyright (C) 2011 The Android Open Source Project 3# 4# Licensed under the Apache License, Version 2.0 (the "License"); 5# you may not use this file except in compliance with the License. 6# You may obtain a copy of the License at 7# 8# http://www.apache.org/licenses/LICENSE-2.0 9# 10# Unless required by applicable law or agreed to in writing, software 11# distributed under the License is distributed on an "AS IS" BASIS, 12# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13# See the License for the specific language governing permissions and 14# limitations under the License. 15# 16 17# art-cache 18ART_CACHE_DIR := /data/art-cache 19ART_CACHE_OUT := $(TARGET_OUT_DATA)/art-cache 20 21# directory used for tests on device 22ART_TEST_DIR := /data/art-test 23ART_TEST_OUT := $(TARGET_OUT_DATA)/art-test 24 25ART_CPP_EXTENSION := .cc 26 27ART_C_INCLUDES := \ 28 external/gtest/include \ 29 external/icu4c/common \ 30 external/icu4c/i18n \ 31 external/valgrind/dynamic_annotations \ 32 external/zlib \ 33 art/src \ 34 dalvik/libdex 35 36art_cflags := \ 37 -O2 \ 38 -ggdb3 \ 39 -Wall \ 40 -Werror \ 41 -Wextra \ 42 -Wno-unused-parameter \ 43 -Wstrict-aliasing=3 \ 44 -fno-align-jumps \ 45 -fstrict-aliasing 46 47ifeq ($(HOST_OS),linux) 48 art_non_debug_cflags := \ 49 -Wframe-larger-than=1728 50endif 51 52art_debug_cflags := \ 53 -UNDEBUG 54 55ART_HOST_CFLAGS := $(art_cflags) -DANDROID_SMP=1 56 57ART_TARGET_CFLAGS := $(art_cflags) 58ifeq ($(TARGET_CPU_SMP),true) 59 ART_TARGET_CFLAGS += -DANDROID_SMP=1 60else 61 ART_TARGET_CFLAGS += -DANDROID_SMP=0 62endif 63 64# To use oprofile_android --callgraph, uncomment this and recompile with "mmm art -B -j16" 65# ART_TARGET_CFLAGS += -fno-omit-frame-pointer -marm -mapcs 66 67ART_HOST_NON_DEBUG_CFLAGS := $(art_non_debug_cflags) 68ART_TARGET_NON_DEBUG_CFLAGS := $(art_non_debug_cflags) 69 70# TODO: move -fkeep-inline-functions to art_debug_cflags when target gcc > 4.4 71ART_HOST_DEBUG_CFLAGS := $(art_debug_cflags) -fkeep-inline-functions 72ART_TARGET_DEBUG_CFLAGS := $(art_debug_cflags) 73 74DEX2OAT_SRC_FILES := \ 75 src/dex2oat.cc 76 77OATDUMP_SRC_FILES := \ 78 src/oatdump.cc 79 80OATEXEC_SRC_FILES := \ 81 src/oatexec.cc 82 83LIBART_COMMON_SRC_FILES := \ 84 src/assembler.cc \ 85 src/assembler_arm.cc \ 86 src/assembler_x86.cc \ 87 src/atomic.cc.arm \ 88 src/calling_convention.cc \ 89 src/calling_convention_arm.cc \ 90 src/calling_convention_x86.cc \ 91 src/card_table.cc \ 92 src/context.cc \ 93 src/context_arm.cc.arm \ 94 src/context_x86.cc \ 95 src/check_jni.cc \ 96 src/class_linker.cc \ 97 src/class_loader.cc \ 98 src/compiled_method.cc \ 99 src/compiler.cc \ 100 src/compiler/Dataflow.cc \ 101 src/compiler/Frontend.cc \ 102 src/compiler/IntermediateRep.cc \ 103 src/compiler/Ralloc.cc \ 104 src/compiler/SSATransformation.cc \ 105 src/compiler/Utility.cc \ 106 src/compiler/codegen/RallocUtil.cc \ 107 src/compiler/codegen/arm/ArchUtility.cc \ 108 src/compiler/codegen/arm/ArmRallocUtil.cc \ 109 src/compiler/codegen/arm/Assemble.cc \ 110 src/compiler/codegen/arm/LocalOptimizations.cc \ 111 src/compiler/codegen/arm/armv7-a/Codegen.cc \ 112 src/dalvik_system_DexFile.cc \ 113 src/dalvik_system_VMDebug.cc \ 114 src/dalvik_system_VMRuntime.cc \ 115 src/dalvik_system_VMStack.cc \ 116 src/dalvik_system_Zygote.cc \ 117 src/debugger.cc \ 118 src/dex_cache.cc \ 119 src/dex_file.cc \ 120 src/dex_instruction.cc \ 121 src/dex_verifier.cc \ 122 src/file.cc \ 123 src/file_linux.cc \ 124 src/heap.cc \ 125 src/heap_bitmap.cc \ 126 src/hprof/hprof.cc \ 127 src/hprof/hprof_record.cc \ 128 src/image.cc \ 129 src/image_writer.cc \ 130 src/indirect_reference_table.cc \ 131 src/intern_table.cc \ 132 src/java_lang_Class.cc \ 133 src/java_lang_Object.cc \ 134 src/java_lang_Runtime.cc \ 135 src/java_lang_String.cc \ 136 src/java_lang_System.cc \ 137 src/java_lang_Thread.cc \ 138 src/java_lang_Throwable.cc \ 139 src/java_lang_VMClassLoader.cc \ 140 src/java_lang_reflect_Array.cc \ 141 src/java_lang_reflect_Constructor.cc \ 142 src/java_lang_reflect_Field.cc \ 143 src/java_lang_reflect_Method.cc \ 144 src/java_lang_reflect_Proxy.cc \ 145 src/java_util_concurrent_atomic_AtomicLong.cc \ 146 src/jdwp/jdwp_constants.cc \ 147 src/jdwp/jdwp_event.cc \ 148 src/jdwp/jdwp_expand_buf.cc \ 149 src/jdwp/jdwp_handler.cc \ 150 src/jdwp/jdwp_main.cc \ 151 src/jdwp/jdwp_socket.cc \ 152 src/jni_compiler.cc \ 153 src/jni_internal.cc \ 154 src/jni_internal_arm.cc \ 155 src/jni_internal_x86.cc \ 156 src/logging.cc \ 157 src/mark_stack.cc \ 158 src/mark_sweep.cc \ 159 src/managed_register_arm.cc \ 160 src/managed_register_x86.cc \ 161 src/mem_map.cc \ 162 src/memory_region.cc \ 163 src/monitor.cc \ 164 src/mspace.c \ 165 src/mutex.cc \ 166 src/oat.cc \ 167 src/oat_file.cc \ 168 src/oat_writer.cc \ 169 src/object.cc \ 170 src/offsets.cc \ 171 src/org_apache_harmony_dalvik_ddmc_DdmServer.cc \ 172 src/org_apache_harmony_dalvik_ddmc_DdmVmInternal.cc \ 173 src/os_linux.cc \ 174 src/primitive.cc \ 175 src/reference_table.cc \ 176 src/reflection.cc \ 177 src/runtime.cc \ 178 src/signal_catcher.cc \ 179 src/space.cc \ 180 src/stack.cc \ 181 src/stringpiece.cc \ 182 src/stringprintf.cc \ 183 src/stub_arm.cc \ 184 src/stub_x86.cc \ 185 src/sun_misc_Unsafe.cc \ 186 src/thread.cc \ 187 src/thread_list.cc \ 188 src/trace.cc \ 189 src/runtime_support.cc \ 190 src/utf.cc \ 191 src/utils.cc \ 192 src/zip_archive.cc 193 194LIBART_TARGET_SRC_FILES := \ 195 $(LIBART_COMMON_SRC_FILES) \ 196 src/jdwp/jdwp_adb.cc \ 197 src/logging_android.cc \ 198 src/monitor_android.cc \ 199 src/runtime_android.cc \ 200 src/thread_android.cc \ 201 src/thread_arm.cc \ 202 src/runtime_support_arm.S 203 204LIBART_HOST_SRC_FILES := \ 205 $(LIBART_COMMON_SRC_FILES) \ 206 src/logging_linux.cc \ 207 src/monitor_linux.cc \ 208 src/runtime_linux.cc \ 209 src/thread_linux.cc \ 210 src/thread_x86.cc \ 211 src/runtime_support_x86.S 212 213LIBARTTEST_COMMON_SRC_FILES := \ 214 src/base64.cc \ 215 src/jni_tests.cc \ 216 test/StackWalk/stack_walk_jni.cc \ 217 test/ReferenceMap/stack_walk_refmap_jni.cc 218 219TEST_COMMON_SRC_FILES := \ 220 src/class_linker_test.cc \ 221 src/compiler_test.cc \ 222 src/dex_cache_test.cc \ 223 src/dex_file_test.cc \ 224 src/dex_instruction_visitor_test.cc \ 225 src/dex_verifier_test.cc \ 226 src/exception_test.cc \ 227 src/file_test.cc \ 228 src/heap_test.cc \ 229 src/image_test.cc \ 230 src/indirect_reference_table_test.cc \ 231 src/intern_table_test.cc \ 232 src/jni_internal_test.cc \ 233 src/jni_compiler_test.cc \ 234 src/managed_register_arm_test.cc \ 235 src/managed_register_x86_test.cc \ 236 src/oat_test.cc \ 237 src/object_test.cc \ 238 src/reference_table_test.cc \ 239 src/runtime_test.cc \ 240 src/space_test.cc \ 241 src/utils_test.cc \ 242 src/zip_archive_test.cc 243 244TEST_TARGET_SRC_FILES := \ 245 $(TEST_COMMON_SRC_FILES) 246 247TEST_HOST_SRC_FILES := \ 248 $(TEST_COMMON_SRC_FILES) \ 249 src/assembler_x86_test.cc 250 251# subdirectories of test/ 252TEST_DEX_DIRECTORIES := \ 253 AbstractMethod \ 254 AllFields \ 255 CreateMethodSignature \ 256 ExceptionHandle \ 257 ExceptionTest \ 258 Fibonacci \ 259 GrowthLimit \ 260 HelloWorld \ 261 IntMath \ 262 Interfaces \ 263 Main \ 264 MemUsage \ 265 MyClass \ 266 MyClassNatives \ 267 Nested \ 268 ParallelGC \ 269 ProtoCompare \ 270 ProtoCompare2 \ 271 ReferenceMap \ 272 ReflectionTest \ 273 StackWalk \ 274 StackWalk2 \ 275 StaticLeafMethods \ 276 Statics \ 277 StaticsFromCode \ 278 ThreadStress \ 279 Invoke \ 280 XandY 281 282ART_BUILD_TARGET := false 283ART_BUILD_HOST := false 284ifeq ($(ART_BUILD_TARGET_NDEBUG),true) 285 ART_BUILD_TARGET := true 286endif 287ifeq ($(ART_BUILD_TARGET_DEBUG),true) 288 ART_BUILD_TARGET := true 289endif 290ifeq ($(ART_BUILD_HOST_NDEBUG),true) 291 ART_BUILD_HOST := true 292endif 293ifeq ($(ART_BUILD_HOST_DEBUG),true) 294 ART_BUILD_HOST := true 295endif 296