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