freebsd-dev/share/mk/bsd.sys.mk
Warner Losh 30aaff1192 Migrate to a new way of dealing with building from old revisions of
FreeBSD.  This method attempts to centralize all the necessary hacks
or work arounds in one of two places in the tree (src/Makefile.inc1
and src/tools/build).  We build a small compatibility library
(libbuild.a) as well as selectively installing necessary include
files.  We then include this directory when building host binaries.

This removes all the past release compatibilty hacks from various
places in the tree.  We still build on tip of stable and current.  I
will work with those that want to support more, although I anticipate
it will just work.

Many thanks to ru@, obrien@ and jhb@ for providing valuable input at
various stage of implementation, as well as for working together to
positively effect a change for the better.
2003-04-05 20:30:30 +00:00

55 lines
1.4 KiB
Makefile

# $FreeBSD$
#
# This file contains common settings used for building FreeBSD
# sources.
# Enable various levels of compiler warning checks. These may be
# overridden (e.g. if using a non-gcc compiler) by defining NO_WARNS.
# for GCC: http://gcc.gnu.org/onlinedocs/gcc-3.0.4/gcc_3.html#IDX143
.if !defined(NO_WARNS)
. if defined(WARNS)
. if ${WARNS} > 0
CFLAGS += -Wsystem-headers
. if !defined(NO_WERROR)
CFLAGS += -Werror
. endif
. endif
. if ${WARNS} > 1
CFLAGS += -Wall -Wno-format-y2k
. endif
. if ${WARNS} > 2
CFLAGS += -W -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith
. endif
. if ${WARNS} > 3
CFLAGS += -Wreturn-type -Wcast-qual -Wwrite-strings -Wswitch -Wshadow -Wcast-align
. endif
# BDECFLAGS
. if ${WARNS} > 5
CFLAGS += -ansi -pedantic -Wbad-function-cast -Wchar-subscripts -Winline -Wnested-externs -Wredundant-decls
. endif
. if ${WARNS} > 1 && ${WARNS} < 5
# XXX Delete -Wuninitialized by default for now -- the compiler doesn't
# XXX always get it right.
CFLAGS += -Wno-uninitialized
. endif
. endif
. if defined(FORMAT_AUDIT)
WFORMAT = 1
. endif
. if defined(WFORMAT)
. if ${WFORMAT} > 0
#CFLAGS += -Wformat-nonliteral -Wformat-security -Wno-format-extra-args
CFLAGS += -Wformat=2 -Wno-format-extra-args
. if !defined(NO_WERROR)
CFLAGS += -Werror
. endif
. endif
. endif
.endif
# Allow user-specified additional warning flags
CFLAGS += ${CWARNFLAGS}