1# 2# Copyright (C) 2016 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 17LOCAL_CFLAGS += \ 18 -Wall \ 19 -Werror \ 20 \ 21 -Waddress \ 22 -Wempty-body \ 23 -Wenum-compare \ 24 -Wlogical-op \ 25 -Wmissing-declarations \ 26 -Wpointer-arith \ 27 -Wshadow \ 28 \ 29 -fdata-sections \ 30 -ffunction-sections \ 31 -fno-strict-aliasing \ 32 -fno-unwind-tables \ 33 -fstack-reuse=all \ 34 -fvisibility=hidden \ 35 36LOCAL_CPPFLAGS += \ 37 -std=c++11 \ 38 -fno-exceptions \ 39 -fno-rtti \ 40 41LOCAL_LDFLAGS += \ 42 -nostartfiles \ 43 -Wl,--gc-sections \ 44 -Wl,--no-undefined \ 45 -Wl,--no-allow-shlib-undefined \ 46 47LOCAL_CFLAGS_cortexm4 += \ 48 -mthumb \ 49 -mcpu=cortex-m4 \ 50 -march=armv7e-m \ 51 -mfloat-abi=softfp \ 52 -mfpu=fpv4-sp-d16 \ 53 -mno-thumb-interwork \ 54 -ffast-math \ 55 -fshort-double \ 56 -fsingle-precision-constant \ 57 -DARM \ 58 -DUSE_NANOHUB_FLOAT_RUNTIME \ 59 -DARM_MATH_CM4 \ 60 -D__FPU_PRESENT \ 61 -DCPU_NUM_PERSISTENT_RAM_BITS=32 \ 62 63LOCAL_CFLAGS_x86 += \ 64 -march=core2 \ 65 -msse2 \ 66 -DSYSCALL_VARARGS_PARAMS_PASSED_AS_PTRS \ 67 68LOCAL_CFLAGS_stm32 += \ 69 -DPLATFORM_HW_VER=0 \ 70 71# CHRE-specific 72LOCAL_CFLAGS += \ 73 -DCHRE_MESSAGE_TO_HOST_MAX_SIZE=128 \ 74 -DCHRE_NO_DOUBLE_SUPPORT \ 75 76# DEBUG/RELEASE-specific 77DEBUG ?= -DDEBUG 78RELEASE ?= 79 80ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT))) 81LOCAL_CFLAGS += \ 82 $(DEBUG) \ 83 84else 85LOCAL_CFLAGS += \ 86 $(RELEASE) \ 87 88endif 89