bsd.sys.mk revision 140359
1# $FreeBSD: head/share/mk/bsd.sys.mk 140359 2005-01-16 21:08:31Z obrien $
2#
3# This file contains common settings used for building FreeBSD
4# sources.
5
6# Enable various levels of compiler warning checks.  These may be
7# overridden (e.g. if using a non-gcc compiler) by defining NO_WARNS.
8
9# for GCC:  http://gcc.gnu.org/onlinedocs/gcc-3.0.4/gcc_3.html#IDX143
10
11.if !defined(NO_WARNS) && ${CC} != "icc"
12. if defined(WARNS)
13.  if ${WARNS} >= 1
14CWARNFLAGS	+=	-Wsystem-headers
15.   if !defined(NO_WERROR)
16CWARNFLAGS	+=	-Werror
17.   endif
18.  endif
19.  if ${WARNS} >= 2
20CWARNFLAGS	+=	-Wall -Wno-format-y2k
21.  endif
22.  if ${WARNS} >= 3
23CWARNFLAGS	+=	-W -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith
24.  endif
25.  if ${WARNS} >= 4
26CWARNFLAGS	+=	-Wreturn-type -Wcast-qual -Wwrite-strings -Wswitch -Wshadow -Wcast-align
27.  endif
28# BDECFLAGS
29.  if ${WARNS} >= 6
30CWARNFLAGS	+=	-Wchar-subscripts -Winline -Wnested-externs -Wredundant-decls
31.  endif
32.  if ${WARNS} >= 2 && ${WARNS} <= 4
33# XXX Delete -Wuninitialized by default for now -- the compiler doesn't
34# XXX always get it right.
35CWARNFLAGS	+=	-Wno-uninitialized
36.  endif
37. endif
38
39. if defined(FORMAT_AUDIT)
40WFORMAT		=	1
41. endif
42. if defined(WFORMAT)
43.  if ${WFORMAT} > 0
44#CWARNFLAGS	+=	-Wformat-nonliteral -Wformat-security -Wno-format-extra-args
45CWARNFLAGS	+=	-Wformat=2 -Wno-format-extra-args
46.   if !defined(NO_WERROR)
47CWARNFLAGS	+=	-Werror
48.   endif
49.  endif
50. endif
51.endif
52
53# Allow user-specified additional warning flags
54CFLAGS		+=	${CWARNFLAGS}
55