summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkris <kris@FreeBSD.org>2001-05-19 23:18:21 +0000
committerkris <kris@FreeBSD.org>2001-05-19 23:18:21 +0000
commit3252dc5107a4f4a57fac1274dac76f4212b58018 (patch)
treeddfd198217a004ce1ab17349fb5b0668c701324d
parenta8fdb15db6fec27e9ebc57586662b2c7de9f1406 (diff)
downloadFreeBSD-src-3252dc5107a4f4a57fac1274dac76f4212b58018.zip
FreeBSD-src-3252dc5107a4f4a57fac1274dac76f4212b58018.tar.gz
Bring in the WARNS directive from NetBSD, localized in a new bsd.sys.mk
to avoid polluting sys.mk. This directive controls the addition of compiler warning flags to CFLAGS in a relatively compiler-neutral manner. The idea is that WARNS can be set in Makefile.inc or in individual Makefiles as they become clean, to prevent the introduction of new warnings in the code. -Werror is added by default
-rw-r--r--share/mk/Makefile2
-rw-r--r--share/mk/bsd.kmod.mk2
-rw-r--r--share/mk/bsd.lib.mk2
-rw-r--r--share/mk/bsd.prog.mk2
-rw-r--r--share/mk/bsd.sys.mk37
5 files changed, 44 insertions, 1 deletions
diff --git a/share/mk/Makefile b/share/mk/Makefile
index bfc3102..e63005c 100644
--- a/share/mk/Makefile
+++ b/share/mk/Makefile
@@ -5,7 +5,7 @@ FILES= bsd.README
FILES+= bsd.cpu.mk bsd.dep.mk bsd.doc.mk bsd.docb.mk bsd.info.mk bsd.kern.mk bsd.kmod.mk
FILES+= bsd.lib.mk bsd.libnames.mk bsd.man.mk bsd.obj.mk bsd.own.mk
FILES+= bsd.port.mk bsd.port.post.mk bsd.port.pre.mk bsd.port.subdir.mk
-FILES+= bsd.prog.mk bsd.sgml.mk bsd.subdir.mk
+FILES+= bsd.prog.mk bsd.sgml.mk bsd.subdir.mk bsd.sys.mk
FILES+= sys.mk
NOOBJ= noobj
diff --git a/share/mk/bsd.kmod.mk b/share/mk/bsd.kmod.mk
index 73f9c14..586369f 100644
--- a/share/mk/bsd.kmod.mk
+++ b/share/mk/bsd.kmod.mk
@@ -11,3 +11,5 @@ SYSDIR= ${_dir}
.endif
.include "${SYSDIR}/conf/kmod.mk"
+
+.include <bsd.sys.mk>
diff --git a/share/mk/bsd.lib.mk b/share/mk/bsd.lib.mk
index 96470ea..104cdc9 100644
--- a/share/mk/bsd.lib.mk
+++ b/share/mk/bsd.lib.mk
@@ -375,3 +375,5 @@ ${OBJS} ${STATICOBJS} ${POBJS} ${SOBJS}: ${SRCS:M*.h}
.endif
.include <bsd.obj.mk>
+
+.include <bsd.sys.mk>
diff --git a/share/mk/bsd.prog.mk b/share/mk/bsd.prog.mk
index 3c77298..646cf12 100644
--- a/share/mk/bsd.prog.mk
+++ b/share/mk/bsd.prog.mk
@@ -222,3 +222,5 @@ ${OBJS}: ${SRCS:M*.h}
.endif
.include <bsd.obj.mk>
+
+.include <bsd.sys.mk>
diff --git a/share/mk/bsd.sys.mk b/share/mk/bsd.sys.mk
new file mode 100644
index 0000000..efb69a9
--- /dev/null
+++ b/share/mk/bsd.sys.mk
@@ -0,0 +1,37 @@
+# $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.
+
+.if !defined(NO_WARNS)
+. if defined(WARNS)
+. if ${WARNS} > 0
+CFLAGS += -W -Wall -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith
+# XXX Delete -Wuninitialized by default for now -- the compiler doesn't
+# XXX always get it right.
+CFLAGS += -Wno-uninitialized
+. endif
+. if ${WARNS} > 1
+CFLAGS += -Wreturn-type -Wcast-qual -Wwrite-strings -Wswitch -Wshadow
+. endif
+. endif
+
+. if defined(FORMAT_AUDIT)
+WFORMAT = 1
+. endif
+. if defined(WFORMAT)
+. if ${WFORMAT} > 0
+CFLAGS += -Wnon-const-format -Wno-format-extra-args
+. endif
+. endif
+
+. if !defined(NO_WERROR)
+CFLAGS += -Werror
+. endif
+.endif
+
+# Allow user-specified additional warning flags
+CFLAGS += ${CWARNFLAGS}
OpenPOWER on IntegriCloud