# THE POSSIBILITY OF SUCH DAMAGE. #
##############################################################################
-GCCVERSION:=$(shell $(CC) -dumpversion)
-GCCMACHINE:=$(shell $(CC) -dumpmachine)
-OBJSUFFIX:=-$(GCCMACHINE:-linux-gnu=)-$(GCCVERSION)
-
-ifneq (,$(filter 4.%,$(GCCVERSION)))
+ifneq ($(filter 4.%,$(shell gcc -dumpversion)),)
GCC4=1
endif
LDFLAGS += -Wl,--warn-common
+CFLAGS := -g
+
# Use pipes and not temp files.
CFLAGS += -pipe
# optimize even more
CFLAGS += -Wsign-compare
# warn about unused declared stuff
CFLAGS += -Wunused
-# don not warn about unused return value
-CFLAGS += -Wno-unused-value
+CFLAGS += -Wno-unused-parameter
# warn about variable use before initialization
CFLAGS += -Wuninitialized
+# warn about variables which are initialized with themselves
+CFLAGS += -Winit-self
# warn about pointer arithmetic on void* and function pointers
CFLAGS += -Wpointer-arith
# warn about multiple declarations
CFLAGS += -Wredundant-decls
# warn if the format string is not a string literal
CFLAGS += -Wformat-nonliteral
-# do not warn about strftime format with y2k issues
-CFLAGS += -Wno-format-y2k
+# do not warn about zero-length formats.
+CFLAGS += -Wno-format-zero-length
+# missing prototypes
+CFLAGS += -Wmissing-prototypes
+# warn about functions without format attribute that should have one
+CFLAGS += -Wmissing-format-attribute
# barf if we change constness
#CFLAGS += -Wcast-qual