1ddf5661793de8fb4e16906b7f7822972fcb13c6dZonr Chang#
2ddf5661793de8fb4e16906b7f7822972fcb13c6dZonr Chang# Copyright (C) 2012 The Android Open Source Project
3ddf5661793de8fb4e16906b7f7822972fcb13c6dZonr Chang#
4ddf5661793de8fb4e16906b7f7822972fcb13c6dZonr Chang# Licensed under the Apache License, Version 2.0 (the "License");
5ddf5661793de8fb4e16906b7f7822972fcb13c6dZonr Chang# you may not use this file except in compliance with the License.
6ddf5661793de8fb4e16906b7f7822972fcb13c6dZonr Chang# You may obtain a copy of the License at
7ddf5661793de8fb4e16906b7f7822972fcb13c6dZonr Chang#
8ddf5661793de8fb4e16906b7f7822972fcb13c6dZonr Chang#      http://www.apache.org/licenses/LICENSE-2.0
9ddf5661793de8fb4e16906b7f7822972fcb13c6dZonr Chang#
10ddf5661793de8fb4e16906b7f7822972fcb13c6dZonr Chang# Unless required by applicable law or agreed to in writing, software
11ddf5661793de8fb4e16906b7f7822972fcb13c6dZonr Chang# distributed under the License is distributed on an "AS IS" BASIS,
12ddf5661793de8fb4e16906b7f7822972fcb13c6dZonr Chang# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13ddf5661793de8fb4e16906b7f7822972fcb13c6dZonr Chang# See the License for the specific language governing permissions and
14ddf5661793de8fb4e16906b7f7822972fcb13c6dZonr Chang# limitations under the License.
15ddf5661793de8fb4e16906b7f7822972fcb13c6dZonr Chang#
16ddf5661793de8fb4e16906b7f7822972fcb13c6dZonr Chang
17ddf5661793de8fb4e16906b7f7822972fcb13c6dZonr ChangLOCAL_CFLAGS := \
18ddf5661793de8fb4e16906b7f7822972fcb13c6dZonr Chang  -Wall \
19ddf5661793de8fb4e16906b7f7822972fcb13c6dZonr Chang  -Wno-unused-parameter \
20ddf5661793de8fb4e16906b7f7822972fcb13c6dZonr Chang  -Werror \
21ddf5661793de8fb4e16906b7f7822972fcb13c6dZonr Chang  -DTARGET_BUILD \
22ddf5661793de8fb4e16906b7f7822972fcb13c6dZonr Chang  $(LOCAL_CFLAGS)
23ddf5661793de8fb4e16906b7f7822972fcb13c6dZonr Chang
24ddf5661793de8fb4e16906b7f7822972fcb13c6dZonr Changifeq ($(TARGET_BUILD_VARIANT),eng)
25ddf5661793de8fb4e16906b7f7822972fcb13c6dZonr ChangLOCAL_CFLAGS += -DANDROID_ENGINEERING_BUILD
266e9e89d1ed049ec931bb1000948c12698e6c5484Stephen Hineselse
276e9e89d1ed049ec931bb1000948c12698e6c5484Stephen HinesLOCAL_CFLAGS += -D__DISABLE_ASSERTS
28ddf5661793de8fb4e16906b7f7822972fcb13c6dZonr Changendif
29ddf5661793de8fb4e16906b7f7822972fcb13c6dZonr Chang
30ddf5661793de8fb4e16906b7f7822972fcb13c6dZonr Chang#=====================================================================
31ddf5661793de8fb4e16906b7f7822972fcb13c6dZonr Chang# Architecture Selection
32ddf5661793de8fb4e16906b7f7822972fcb13c6dZonr Chang#=====================================================================
33ddf5661793de8fb4e16906b7f7822972fcb13c6dZonr Chang# Note: We should only use -DFORCE_ARCH_CODEGEN on target build.
34ddf5661793de8fb4e16906b7f7822972fcb13c6dZonr Chang# For the host build, we will include as many architecture as possible,
35ddf5661793de8fb4e16906b7f7822972fcb13c6dZonr Chang# so that we can test the execution engine easily.
36ddf5661793de8fb4e16906b7f7822972fcb13c6dZonr Chang
37ddf5661793de8fb4e16906b7f7822972fcb13c6dZonr Changifeq ($(TARGET_ARCH),arm)
38ddf5661793de8fb4e16906b7f7822972fcb13c6dZonr Chang  LOCAL_CFLAGS += -DFORCE_ARM_CODEGEN
39ddf5661793de8fb4e16906b7f7822972fcb13c6dZonr Chang  ifeq ($(ARCH_ARM_HAVE_VFP),true)
40ddf5661793de8fb4e16906b7f7822972fcb13c6dZonr Chang    LOCAL_CFLAGS += -DARCH_ARM_HAVE_VFP
41ddf5661793de8fb4e16906b7f7822972fcb13c6dZonr Chang    ifeq ($(ARCH_ARM_HAVE_VFP_D32),true)
42ddf5661793de8fb4e16906b7f7822972fcb13c6dZonr Chang      LOCAL_CFLAGS += -DARCH_ARM_HAVE_VFP_D32
43ddf5661793de8fb4e16906b7f7822972fcb13c6dZonr Chang    endif
44ddf5661793de8fb4e16906b7f7822972fcb13c6dZonr Chang  endif
45ddf5661793de8fb4e16906b7f7822972fcb13c6dZonr Chang  ifeq ($(ARCH_ARM_HAVE_NEON),true)
46afec50cef019ce1672d603af526f137abb68dff4Tobias Grosser    LOCAL_CFLAGS += -DARCH_ARM_HAVE_NEON
47ddf5661793de8fb4e16906b7f7822972fcb13c6dZonr Chang  endif
48ddf5661793de8fb4e16906b7f7822972fcb13c6dZonr Changelse
49ddf5661793de8fb4e16906b7f7822972fcb13c6dZonr Chang  ifeq ($(TARGET_ARCH),mips)
50ddf5661793de8fb4e16906b7f7822972fcb13c6dZonr Chang    LOCAL_CFLAGS += -DFORCE_MIPS_CODEGEN
51ddf5661793de8fb4e16906b7f7822972fcb13c6dZonr Chang  else
52ddf5661793de8fb4e16906b7f7822972fcb13c6dZonr Chang    ifeq ($(TARGET_ARCH),x86)
53ddf5661793de8fb4e16906b7f7822972fcb13c6dZonr Chang      LOCAL_CFLAGS += -DFORCE_X86_CODEGEN
54cdcce323a2acddb4234e6906c691e20bb3d714f9Michael Liao      ifeq ($(ARCH_X86_HAVE_SSE2), true)
55cdcce323a2acddb4234e6906c691e20bb3d714f9Michael Liao        LOCAL_CFLAGS += -DARCH_X86_HAVE_SSE2
56cdcce323a2acddb4234e6906c691e20bb3d714f9Michael Liao      endif
57ddf5661793de8fb4e16906b7f7822972fcb13c6dZonr Chang    else
58ddf5661793de8fb4e16906b7f7822972fcb13c6dZonr Chang      $(error Unsupported architecture $(TARGET_ARCH))
59ddf5661793de8fb4e16906b7f7822972fcb13c6dZonr Chang    endif
60ddf5661793de8fb4e16906b7f7822972fcb13c6dZonr Chang  endif
61ddf5661793de8fb4e16906b7f7822972fcb13c6dZonr Changendif
62ddf5661793de8fb4e16906b7f7822972fcb13c6dZonr Chang
63ddf5661793de8fb4e16906b7f7822972fcb13c6dZonr ChangLOCAL_C_INCLUDES := \
644e9864870f4a2c15ca8e1c333d92487a87ef0655Stephen Hines  bionic \
654e9864870f4a2c15ca8e1c333d92487a87ef0655Stephen Hines  external/stlport/stlport \
66ddf5661793de8fb4e16906b7f7822972fcb13c6dZonr Chang  $(LIBBCC_ROOT_PATH)/include \
674e9864870f4a2c15ca8e1c333d92487a87ef0655Stephen Hines  $(LLVM_ROOT_PATH)/include \
684e9864870f4a2c15ca8e1c333d92487a87ef0655Stephen Hines  $(LLVM_ROOT_PATH)/device/include \
69ddf5661793de8fb4e16906b7f7822972fcb13c6dZonr Chang  $(LOCAL_C_INCLUDES)
70