simplify toplevel Makefile so that it can inclide common.mk
[apps/pfixtools.git] / mk / cflags.mk
index e4f5b8b..96e21ff 100644 (file)
@@ -1,5 +1,5 @@
 ##############################################################################
-#          postlicyd: a postfix policy daemon with a lot of features         #
+#          pfixtools: a collection of postfix related tools                  #
 #          ~~~~~~~~~                                                         #
 #  ________________________________________________________________________  #
 #                                                                            #
 #     products derived from this software without specific prior written     #
 #     permission.                                                            #
 #                                                                            #
-#  THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND   #
-#  ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE     #
-#  IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR        #
-#  PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS    #
-#  BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR    #
-#  CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF      #
-#  SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS  #
-#  INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN   #
-#  CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)   #
-#  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF    #
-#  THE POSSIBILITY OF SUCH DAMAGE.                                           #
+#  THIS SOFTWARE IS PROVIDED BY THE CONTRIBUTORS ``AS IS'' AND ANY EXPRESS   #
+#  OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED         #
+#  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE    #
+#  DISCLAIMED.  IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY         #
+#  DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL        #
+#  DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS   #
+#  OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)     #
+#  HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,       #
+#  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN  #
+#  ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE           #
+#  POSSIBILITY OF SUCH DAMAGE.                                               #
+#                                                                            #
+#   Copyright (c) 2006-2008 the Authors                                      #
+#   see AUTHORS and source files for details                                 #
 ##############################################################################
 
+
 ifneq ($(filter 4.%,$(shell gcc -dumpversion)),)
   GCC4=1
 endif
-
-LDFLAGS += -Wl,--warn-common
-
-CFLAGS := -g
+ifneq ($(filter Darwin%,$(shell uname)),)
+  DARWIN=1
+endif
 
 # Use pipes and not temp files.
-CFLAGS += -pipe
+CFLAGSBASE += -pipe
 # optimize even more
-CFLAGS += -O2
+CFLAGSBASE += -O2
 # let the type char be unsigned by default
-CFLAGS += -funsigned-char
-CFLAGS += -fstrict-aliasing
+CFLAGSBASE += -funsigned-char
+CFLAGSBASE += -fno-strict-aliasing
 # turn on all common warnings
-CFLAGS += -Wall
+CFLAGSBASE += -Wall
 # turn on extra warnings
-CFLAGS += $(if $(GCC4),-Wextra,-W)
+CFLAGSBASE += $(if $(GCC4),-Wextra,-W)
 # treat warnings as errors
-CFLAGS += -Werror
-CFLAGS += -Wchar-subscripts
+CFLAGSBASE += -Werror
+CFLAGSBASE += -Wchar-subscripts
 # warn about undefined preprocessor identifiers
-CFLAGS += -Wundef
+CFLAGSBASE += -Wundef
 # warn about local variable shadowing another local variable
-CFLAGS += -Wshadow
+# # disabled on Darwin because of warnings in ev.h
+CFLAGSBASE += -Wshadow
 # warn about casting of pointers to increased alignment requirements
-CFLAGS += -Wcast-align
+CFLAGSBASE += -Wcast-align
 # make string constants const
-CFLAGS += -Wwrite-strings
+CFLAGSBASE += -Wwrite-strings
 # warn about implicit conversions with side effects
 # fgets, calloc and friends take an int, not size_t...
-#CFLAGS += -Wconversion
+#CFLAGSBASE += -Wconversion
 # warn about comparisons between signed and unsigned values
-CFLAGS += -Wsign-compare
+CFLAGSBASE += -Wsign-compare
 # warn about unused declared stuff
-CFLAGS += -Wunused
-CFLAGS += -Wno-unused-parameter
+CFLAGSBASE += -Wunused
+CFLAGSBASE += -Wno-unused-parameter
 # warn about variable use before initialization
-CFLAGS += -Wuninitialized
+CFLAGSBASE += -Wuninitialized
 # warn about variables which are initialized with themselves
-CFLAGS += -Winit-self
+CFLAGSBASE += $(if $(GCC4),-Winit-self)
 # warn about pointer arithmetic on void* and function pointers
-CFLAGS += -Wpointer-arith
+CFLAGSBASE += -Wpointer-arith
 # warn about multiple declarations
-CFLAGS += -Wredundant-decls
+# #disabled on Darwin because of warnings in ev.h
+CFLAGSBASE += -Wredundant-decls
 # warn if the format string is not a string literal
-CFLAGS += -Wformat-nonliteral
+CFLAGSBASE += -Wformat-nonliteral
 # do not warn about zero-length formats.
-CFLAGS += -Wno-format-zero-length
-# missing prototypes
-CFLAGS += -Wmissing-prototypes
+CFLAGSBASE += -Wno-format-zero-length
+# do not warn about strftime format with y2k issues
+CFLAGSBASE += -Wno-format-y2k
 # warn about functions without format attribute that should have one
-CFLAGS += -Wmissing-format-attribute
-# barf if we change constness
-#CFLAGS += -Wcast-qual
+CFLAGSBASE += -Wmissing-format-attribute
 
+CFLAGS=$(CFLAGSBASE)
+LDFLAGS=$(LDFLAGSBASE)