xref: /dragonfly/sys/conf/bsd.kern.mk (revision f9993810)
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