From: Mike Frysinger Date: Thu, 26 Feb 2009 08:30:06 +0000 (-0500) Subject: make sure compiler supports warning flags X-Git-Tag: v1.3.0~85 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=a2d010f8fca904fffa3c6e5a5d148cc96a37a08a;p=mtd-utils.git make sure compiler supports warning flags Some compilers (like gcc-3.3) don't support all the newer -W flags that we are using. So import the compiler check found in the kernel and test each flag we add. The := is important so we only do the compiler tests once per `make` rather than every time we compile a file. Signed-off-by: Mike Frysinger Signed-off-by: Artem Bityutskiy --- diff --git a/common.mk b/common.mk index 0e8c62b..5e92b07 100644 --- a/common.mk +++ b/common.mk @@ -1,8 +1,18 @@ CC := $(CROSS)gcc AR := $(CROSS)ar RANLIB := $(CROSS)ranlib + +# Stolen from Linux build system +try-run = $(shell set -e; ($(1)) >/dev/null 2>&1 && echo "$(2)" || echo "$(3)") +cc-option = $(call try-run, $(CC) $(1) -c -xc /dev/null -o /dev/null,$(1),$(2)) + CFLAGS ?= -O2 -g -CFLAGS += -Wall -Wextra -Wwrite-strings -Wno-sign-compare -D_FILE_OFFSET_BITS=64 +WFLAGS := -Wall \ + $(call cc-option,-Wextra) \ + $(call cc-option,-Wwrite-strings) \ + $(call cc-option,-Wno-sign-compare) +CFLAGS += $(WFLAGS) +CPPFLAGS += -D_FILE_OFFSET_BITS=64 DESTDIR ?= /usr/local PREFIX=/usr