Hi, On Fri, Apr 29, 2011 at 9:31 AM, Michal Marek <mmarek@xxxxxxx> wrote: > Add support for make W=12, make W=123 and so on, to enable warnings from > multiple W= levels. Normally, make W=<level> does not include warnings > from the previous level. > > Signed-off-by: Michal Marek <mmarek@xxxxxxx> > --- > scripts/Makefile.build | 8 ++++++-- > 1 files changed, 6 insertions(+), 2 deletions(-) > > diff --git a/scripts/Makefile.build b/scripts/Makefile.build > index 9c0c481..28cef2a 100644 > --- a/scripts/Makefile.build > +++ b/scripts/Makefile.build > @@ -60,6 +60,8 @@ endif > # $(call cc-option, -W...) handles gcc -W.. options which > # are not supported by all versions of the compiler > ifdef KBUILD_ENABLE_EXTRA_GCC_CHECKS > +warning- := $(empty) > + > warning-1 := -Wextra -Wunused -Wno-unused-parameter > warning-1 += -Wmissing-declarations > warning-1 += -Wmissing-format-attribute > @@ -85,9 +87,11 @@ warning-3 += -Wswitch-default > warning-3 += $(call cc-option, -Wpacked-bitfield-compat) > warning-3 += $(call cc-option, -Wvla) > > -warning := $(warning-$(KBUILD_ENABLE_EXTRA_GCC_CHECKS)) > +warning := $(warning-$(findstring 1, $(KBUILD_ENABLE_EXTRA_GCC_CHECKS))) > +warning += $(warning-$(findstring 2, $(KBUILD_ENABLE_EXTRA_GCC_CHECKS))) > +warning += $(warning-$(findstring 3, $(KBUILD_ENABLE_EXTRA_GCC_CHECKS))) > I do not really like that, it would mean that W=123, W=321, W=231 and W=132 would lead to the same result. What about a comma separated string, ala: LEVELS=1,2,3,4 comma:= , empty:= space:= $(empty) $(empty) warning-1:= a warning-2:= b warning-3:= c warning-4:= d all: echo $(foreach level, $(subst ${comma},${space},${LEVELS}, ${warning}), ${warning-${level}}) It has the advantage to scale up without adding new code. - Arnaud > -ifeq ("$(warning)","") > +ifeq ("$(strip $(warning))","") > $(error W=$(KBUILD_ENABLE_EXTRA_GCC_CHECKS) is unknown) > endif > > -- > 1.7.4.1 > > -- > To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html > -- To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html