Restore compilation flags.
[apps/pfixtools.git] / mk / cflags.mk
index ac87e55..39ee204 100644 (file)
@@ -1,5 +1,5 @@
 ##############################################################################
-#          postlicyd: a postfix policy daemon with a lot of features         #
+#          pfixtools: a collection of postfix related tools                  #
 #          ~~~~~~~~~                                                         #
 #  ________________________________________________________________________  #
 #                                                                            #
 #  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
+ifneq ($(filter Darwin%,$(shell uname)),)
+  DARWIN=1
+endif
 
 # Use pipes and not temp files.
 CFLAGS += -pipe
@@ -56,7 +53,8 @@ CFLAGS += -Wchar-subscripts
 # warn about undefined preprocessor identifiers
 CFLAGS += -Wundef
 # warn about local variable shadowing another local variable
-CFLAGS += -Wshadow
+# # disabled on Darwin because of warnings in ev.h
+CFLAGS += $(if $(DARWIN),,-Wshadow)
 # warn about casting of pointers to increased alignment requirements
 CFLAGS += -Wcast-align
 # make string constants const
@@ -68,18 +66,21 @@ CFLAGS += -Wwrite-strings
 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 += $(if $(GCC4),-Winit-self)
 # warn about pointer arithmetic on void* and function pointers
 CFLAGS += -Wpointer-arith
 # warn about multiple declarations
-CFLAGS += -Wredundant-decls
+# #disabled on Darwin because of warnings in ev.h
+CFLAGS += $(if $(DARWIN),,-Wredundant-decls)
 # warn if the format string is not a string literal
 CFLAGS += -Wformat-nonliteral
+# do not warn about zero-length formats.
+CFLAGS += -Wno-format-zero-length
 # do not warn about strftime format with y2k issues
 CFLAGS += -Wno-format-y2k
-# barf if we change constness
-#CFLAGS += -Wcast-qual
-
+# warn about functions without format attribute that should have one
+CFLAGS += -Wmissing-format-attribute