X-Git-Url: http://git.madism.org/?a=blobdiff_plain;f=mk%2Fcflags.mk;h=96e21ffb97b2cc6ca4d2a15be15da57717a8db49;hb=063d8a2ddca1e35efde7a3dec5eb04387dfb0922;hp=ac87e55b55eadce528fdb29c6f6553b7f3b776c4;hpb=72ae8ee27f8277beda672104722ef3bdd86c8da9;p=apps%2Fpfixtools.git diff --git a/mk/cflags.mk b/mk/cflags.mk index ac87e55..96e21ff 100644 --- a/mk/cflags.mk +++ b/mk/cflags.mk @@ -1,5 +1,5 @@ ############################################################################## -# postlicyd: a postfix policy daemon with a lot of features # +# pfixtools: a collection of postfix related tools # # ~~~~~~~~~ # # ________________________________________________________________________ # # # @@ -16,70 +16,78 @@ # 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 # ############################################################################## -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 +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 -# don not warn about unused return value -CFLAGS += -Wno-unused-value +CFLAGSBASE += -Wunused +CFLAGSBASE += -Wno-unused-parameter # warn about variable use before initialization -CFLAGS += -Wuninitialized +CFLAGSBASE += -Wuninitialized +# warn about variables which are initialized with themselves +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. +CFLAGSBASE += -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 +CFLAGSBASE += -Wno-format-y2k +# warn about functions without format attribute that should have one +CFLAGSBASE += -Wmissing-format-attribute +CFLAGS=$(CFLAGSBASE) +LDFLAGS=$(LDFLAGSBASE)