diff options
author | Michal Marek <mmarek@suse.cz> | 2011-04-29 14:45:31 +0200 |
---|---|---|
committer | Michal Marek <mmarek@suse.cz> | 2011-05-02 17:37:10 +0200 |
commit | a6de553da01c2c110c647fbd1c5bad29f5a82487 (patch) | |
tree | 7c24cf487f05cd7c20fe2f825c37999f11b30efc | |
parent | af0e5d565d2fffcd97d1e2d89669d627cc04e8b8 (diff) | |
download | op-kernel-dev-a6de553da01c2c110c647fbd1c5bad29f5a82487.zip op-kernel-dev-a6de553da01c2c110c647fbd1c5bad29f5a82487.tar.gz |
kbuild: Allow to combine multiple W= levels
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@suse.cz>
Acked-by: Sam Ravnborg <sam@ravnborg.org>
Reviewed-By: Valdis Kletnieks <valdis.kletnieks@vt.edu>
-rw-r--r-- | Makefile | 2 | ||||
-rw-r--r-- | scripts/Makefile.build | 8 |
2 files changed, 7 insertions, 3 deletions
@@ -1290,7 +1290,7 @@ help: @echo ' 1: warnings which may be relevant and do not occur too often' @echo ' 2: warnings which occur quite often but may still be relevant' @echo ' 3: more obscure warnings, can most likely be ignored' - + @echo ' Multiple levels can be combined with W=12 or W=123' @echo '' @echo 'Execute "make" or "make all" to build all targets marked with [*] ' @echo 'For further info see the ./README file' diff --git a/scripts/Makefile.build b/scripts/Makefile.build index 9fb19c0..f133641 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 @@ -86,9 +88,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))) -ifeq ("$(warning)","") +ifeq ("$(strip $(warning))","") $(error W=$(KBUILD_ENABLE_EXTRA_GCC_CHECKS) is unknown) endif |