1# $FreeBSD: src/share/mk/bsd.kern.mk,v 1.17.2.1 2001/08/01 16:56:56 obrien Exp $ 2 3# Warning flags for compiling the kernel and components of the kernel. 4# 5# Note that -Werror is on by default. To turn it off, e.g. when working 6# on adding new warning options, NO_WERROR in make.conf (or on make(1)'s 7# command line) should be of material assistance. 8# 9 10CSTD?= gnu11 11 12CWARNFLAGS?= -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes \ 13 -Wmissing-prototypes -Wpointer-arith -Wcast-qual \ 14 -Wold-style-definition -Wmissing-include-dirs \ 15 -Wno-pointer-sign -Winit-self -Wundef 16 17.if ${CCVER:Mgcc*} 18# All flags inside this block are gcc-specific except for --param 19# Since inline-limit wasn't recognized, and since --param squawks on clang 20# when it isn't used, it was shift to GCC compilers only. 21CFLAGS+= -Wold-style-declaration \ 22 -finline-limit=${INLINE_LIMIT} \ 23 --param inline-unit-growth=100 \ 24 --param large-function-growth=1000 25.if ${CCVER:Mgcc4[789]} || ${CCVER:Mgcc[5-]*} 26CWARNFLAGS+= -Wno-unused-but-set-variable 27.endif 28.endif 29 30 31# Require the proper use of 'extern' for variables. -fno-common will 32# cause duplicate declarations to generate a link error. 33# 34CFLAGS+= -fno-common 35 36# Prevent GCC 3.x from making certain libc based inline optimizations 37# 38CFLAGS+= -ffreestanding 39 40.include "../platform/${MACHINE_PLATFORM}/conf/kern.mk" 41