-ifneq ($(filter 4.%,$(GCCVERSION)),)
+ifneq ($(filter 4.%,$(shell gcc -dumpversion)),)
GCC4=1
endif
LDFLAGS += -Wl,--warn-common
-CFLAGS :=
+CFLAGS := -g
# Use pipes and not temp files.
CFLAGS += -pipe
CFLAGS += -Wsign-compare
# warn about unused declared stuff
CFLAGS += -Wunused
-# don not warn about unused return value
-CFLAGS += -Wno-unused-value
# 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
+#CFLAGS += -Wformat-nonliteral
+# 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
+