bsd.sys.mk revision 99542
1170754Sdelphij# $FreeBSD: head/share/mk/bsd.sys.mk 99542 2002-07-07 18:47:52Z obrien $
2170754Sdelphij#
3170754Sdelphij# This file contains common settings used for building FreeBSD
4170754Sdelphij# sources.
5170754Sdelphij
6170754Sdelphij# Enable various levels of compiler warning checks.  These may be
7170754Sdelphij# overridden (e.g. if using a non-gcc compiler) by defining NO_WARNS.
8170754Sdelphij
9170754Sdelphij# for GCC:  http://gcc.gnu.org/onlinedocs/gcc-3.0.4/gcc_3.html#IDX143
10170754Sdelphij
11170754Sdelphij.if !defined(NO_WARNS)
12170754Sdelphij. if defined(WARNS)
13170754Sdelphij.  if ${WARNS} > 0
14170754Sdelphij.   if !defined(NO_WERROR)
15170754SdelphijCFLAGS		+=	-Werror
16170754Sdelphij.   endif
17170754Sdelphij.  endif
18170754Sdelphij.  if ${WARNS} > 1
19170754SdelphijCFLAGS		+=	-Wall -Wno-format-y2k
20170754Sdelphij.  endif
21170754Sdelphij.  if ${WARNS} > 2
22170754SdelphijCFLAGS		+=	-W -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith
23170754Sdelphij.  endif
24170754Sdelphij.  if ${WARNS} > 3
25170754SdelphijCFLAGS		+=	-Wreturn-type -Wcast-qual -Wwrite-strings -Wswitch -Wshadow -Wcast-align
26170754Sdelphij.  endif
27170754Sdelphij.  if ${WARNS} > 4
28170754SdelphijCFLAGS		+=	-Wuninitialized
29170754Sdelphij.  endif
30170754Sdelphij# BDECFLAGS
31170754Sdelphij.  if ${WARNS} > 5
32170754SdelphijCFLAGS		+=	-ansi -pedantic -Wbad-function-cast -Wchar-subscripts -Winline -Wnested-externs -Wredundant-decls
33170754Sdelphij.  endif
34170754Sdelphij.  if ${WARNS} > 1 && ${WARNS} < 5
35170754Sdelphij# XXX Delete -Wuninitialized by default for now -- the compiler doesn't
36170754Sdelphij# XXX always get it right.
37170754SdelphijCFLAGS		+=	-Wno-uninitialized
38170754Sdelphij.  endif
39170754Sdelphij. endif
40170754Sdelphij
41170754Sdelphij. if defined(FORMAT_AUDIT)
42170754SdelphijWFORMAT		=	1
43170754Sdelphij. endif
44170754Sdelphij. if defined(WFORMAT)
45170754Sdelphij.  if ${WFORMAT} > 0
46170754Sdelphij#CFLAGS		+=	-Wformat-nonliteral -Wformat-security -Wno-format-extra-args
47170754SdelphijCFLAGS		+=	-Wformat=2 -Wno-format-extra-args
48170754Sdelphij.   if !defined(NO_WERROR)
49170754SdelphijCFLAGS		+=	-Werror
50170754Sdelphij.   endif
51170754Sdelphij.  endif
52170754Sdelphij. endif
53170754Sdelphij.endif
54170754Sdelphij
55170754Sdelphij# Allow user-specified additional warning flags
56170754SdelphijCFLAGS		+=	${CWARNFLAGS}
57170754Sdelphij
58170754Sdelphij# FreeBSD prior to 4.5 didn't have the __FBSDID() macro in <sys/cdefs.h>.
59170754Sdelphij.if defined(BOOTSTRAPPING)
60170754SdelphijCFLAGS+=	-D__FBSDID=__RCSID
61170754Sdelphij.endif
62170754Sdelphij