]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - share/mk/bsd.sys.mk
Use >= so we can use the actual WARNS levels.
[FreeBSD/FreeBSD.git] / share / mk / bsd.sys.mk
1 # $FreeBSD$
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
14 CWARNFLAGS      +=      -Wsystem-headers
15 .   if !defined(NO_WERROR)
16 CWARNFLAGS      +=      -Werror
17 .   endif
18 .  endif
19 .  if ${WARNS} >= 2
20 CWARNFLAGS      +=      -Wall -Wno-format-y2k
21 .  endif
22 .  if ${WARNS} >= 3
23 CWARNFLAGS      +=      -W -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith
24 .  endif
25 .  if ${WARNS} >= 4
26 CWARNFLAGS      +=      -Wreturn-type -Wcast-qual -Wwrite-strings -Wswitch -Wshadow -Wcast-align
27 .  endif
28 # BDECFLAGS
29 .  if ${WARNS} >= 6
30 CWARNFLAGS      +=      -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.
35 CWARNFLAGS      +=      -Wno-uninitialized
36 .  endif
37 . endif
38
39 . if defined(FORMAT_AUDIT)
40 WFORMAT         =       1
41 . endif
42 . if defined(WFORMAT)
43 .  if ${WFORMAT} > 0
44 #CWARNFLAGS     +=      -Wformat-nonliteral -Wformat-security -Wno-format-extra-args
45 CWARNFLAGS      +=      -Wformat=2 -Wno-format-extra-args
46 .   if !defined(NO_WERROR)
47 CWARNFLAGS      +=      -Werror
48 .   endif
49 .  endif
50 . endif
51 .endif
52
53 # Allow user-specified additional warning flags
54 CFLAGS          +=      ${CWARNFLAGS}