blob: 61162de1ca08374c88e224d32d64b5027789be97 [file] [log] [blame]
Zonr Changddf56612012-04-12 15:38:42 +08001#
2# Copyright (C) 2012 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
Tim Murrayc2074ca2014-04-08 15:39:08 -070017LOCAL_CLANG := true
18
Zonr Changddf56612012-04-12 15:38:42 +080019LOCAL_CFLAGS := \
20 -Wall \
21 -Wno-unused-parameter \
22 -Werror \
23 -DTARGET_BUILD \
24 $(LOCAL_CFLAGS)
25
26ifeq ($(TARGET_BUILD_VARIANT),eng)
27LOCAL_CFLAGS += -DANDROID_ENGINEERING_BUILD
Stephen Hines6e9e89d2012-07-27 19:16:04 -070028else
29LOCAL_CFLAGS += -D__DISABLE_ASSERTS
Zonr Changddf56612012-04-12 15:38:42 +080030endif
31
32#=====================================================================
33# Architecture Selection
34#=====================================================================
35# Note: We should only use -DFORCE_ARCH_CODEGEN on target build.
36# For the host build, we will include as many architecture as possible,
37# so that we can test the execution engine easily.
38
Colin Cross71df0502014-02-04 16:27:32 -080039LOCAL_MODULE_TARGET_ARCH := $(LLVM_SUPPORTED_ARCH)
Ashok Bhatad7d4c32013-11-22 13:29:44 +000040
Colin Cross71df0502014-02-04 16:27:32 -080041ifeq ($(TARGET_ARCH),arm64)
42$(info TODOArm64: $(LOCAL_PATH)/Android.mk Add Arm64 define to LOCAL_CFLAGS)
43endif
44
45ifeq ($(TARGET_ARCH),mips64)
46$(info TODOMips64: $(LOCAL_PATH)/Android.mk Add Mips64 define to LOCAL_CFLAGS)
47endif
48
49LOCAL_CFLAGS_arm += -DFORCE_ARM_CODEGEN
50ifeq ($(ARCH_ARM_HAVE_VFP),true)
51 LOCAL_CFLAGS_arm += -DARCH_ARM_HAVE_VFP
52 ifeq ($(ARCH_ARM_HAVE_VFP_D32),true)
53 LOCAL_CFLAGS_arm += -DARCH_ARM_HAVE_VFP_D32
Zonr Changddf56612012-04-12 15:38:42 +080054 endif
Colin Cross71df0502014-02-04 16:27:32 -080055endif
56ifeq ($(ARCH_ARM_HAVE_NEON),true)
57 LOCAL_CFLAGS_arm += -DARCH_ARM_HAVE_NEON
58endif
59
Tim Murrayc2074ca2014-04-08 15:39:08 -070060LOCAL_CFLAGS_arm64 += -DFORCE_ARM64_CODEGEN
Colin Cross71df0502014-02-04 16:27:32 -080061LOCAL_CFLAGS_mips += -DFORCE_MIPS_CODEGEN
62
63LOCAL_CFLAGS_x86 += -DFORCE_X86_CODEGEN
64LOCAL_CFLAGS_x86_64 += -DFORCE_X86_CODEGEN
65
66ifeq (,$(filter $(TARGET_ARCH),arm64 arm mips mips64 x86 x86_64))
67 $(error Unsupported architecture $(TARGET_ARCH))
Zonr Changddf56612012-04-12 15:38:42 +080068endif
69
70LOCAL_C_INCLUDES := \
Stephen Hines4e986482013-06-15 21:53:29 -070071 bionic \
Tim Murrayc2074ca2014-04-08 15:39:08 -070072 external/libcxx/include \
Zonr Changddf56612012-04-12 15:38:42 +080073 $(LIBBCC_ROOT_PATH)/include \
Stephen Hines4e986482013-06-15 21:53:29 -070074 $(LLVM_ROOT_PATH)/include \
75 $(LLVM_ROOT_PATH)/device/include \
Zonr Changddf56612012-04-12 15:38:42 +080076 $(LOCAL_C_INCLUDES)