1f7c5421560640d23fc10803b9d59a9ff1d83e467The Android Open Source Project# Copyright 2008 Roy Marples <roy@marples.name>
2f7c5421560640d23fc10803b9d59a9ff1d83e467The Android Open Source Project
3f7c5421560640d23fc10803b9d59a9ff1d83e467The Android Open Source Project# Setup some good default CFLAGS
4f7c5421560640d23fc10803b9d59a9ff1d83e467The Android Open Source ProjectCFLAGS?=	-Os
5f7c5421560640d23fc10803b9d59a9ff1d83e467The Android Open Source Project
6f7c5421560640d23fc10803b9d59a9ff1d83e467The Android Open Source Project# Default to using the C99 standard
7f7c5421560640d23fc10803b9d59a9ff1d83e467The Android Open Source ProjectCSTD?=		c99
8f7c5421560640d23fc10803b9d59a9ff1d83e467The Android Open Source Project_CSTD_SH=	if test -n "${CSTD}"; then echo "-std=${CSTD}"; else echo ""; fi
9f7c5421560640d23fc10803b9d59a9ff1d83e467The Android Open Source Project_CSTD!=		${_CSTD_SH}
10f7c5421560640d23fc10803b9d59a9ff1d83e467The Android Open Source ProjectCFLAGS+=	${_CSTD}$(shell ${_CSTD_SH})
11f7c5421560640d23fc10803b9d59a9ff1d83e467The Android Open Source Project
12f7c5421560640d23fc10803b9d59a9ff1d83e467The Android Open Source Project# Try and use some good cc flags if we're building from git
13f7c5421560640d23fc10803b9d59a9ff1d83e467The Android Open Source Project_CCFLAGS=	-pedantic -Wall -Wunused -Wimplicit -Wshadow -Wformat=2 \
14f7c5421560640d23fc10803b9d59a9ff1d83e467The Android Open Source Project		-Wmissing-declarations -Wno-missing-prototypes -Wwrite-strings \
15f7c5421560640d23fc10803b9d59a9ff1d83e467The Android Open Source Project		-Wbad-function-cast -Wnested-externs -Wcomment -Winline \
16f7c5421560640d23fc10803b9d59a9ff1d83e467The Android Open Source Project		-Wchar-subscripts -Wcast-align -Wno-format-nonliteral \
17f7c5421560640d23fc10803b9d59a9ff1d83e467The Android Open Source Project		-Wdeclaration-after-statement -Wsequence-point -Wextra
18f7c5421560640d23fc10803b9d59a9ff1d83e467The Android Open Source Project_CC_FLAGS_SH=	if ! test -d .git; then echo ""; else for f in ${_CCFLAGS}; do \
19f7c5421560640d23fc10803b9d59a9ff1d83e467The Android Open Source Project		if ${CC} $$f -S -o /dev/null -xc /dev/null >/dev/null 2>&1; \
20f7c5421560640d23fc10803b9d59a9ff1d83e467The Android Open Source Project		then printf "%s" "$$f "; fi \
21f7c5421560640d23fc10803b9d59a9ff1d83e467The Android Open Source Project		done; fi
22f7c5421560640d23fc10803b9d59a9ff1d83e467The Android Open Source Project_CC_FLAGS!=	${_CC_FLAGS_SH}
23f7c5421560640d23fc10803b9d59a9ff1d83e467The Android Open Source ProjectCFLAGS+=	${_CC_FLAGS}$(shell ${_CC_FLAGS_SH})
24f7c5421560640d23fc10803b9d59a9ff1d83e467The Android Open Source Project
25f7c5421560640d23fc10803b9d59a9ff1d83e467The Android Open Source Project_GGDB_SH=	if test "${DEBUG}" = "yes"; then echo "-ggdb -DDEBUG"; else echo ""; fi
26f7c5421560640d23fc10803b9d59a9ff1d83e467The Android Open Source Project_GGDB!=		${_GGDB_SH}
27f7c5421560640d23fc10803b9d59a9ff1d83e467The Android Open Source ProjectGGDB=		${_GGDB}$(shell ${_GGDB_SH})
28f7c5421560640d23fc10803b9d59a9ff1d83e467The Android Open Source ProjectCFLAGS+=	${GGDB}
29