aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCheng Renquan <crq@kernel.org>2009-05-26 04:03:07 -0400
committerSam Ravnborg <sam@ravnborg.org>2009-06-09 16:37:45 -0400
commitb8b0618cf6fab3bd5b1da8c72f4b29847d81ac42 (patch)
treeca98af18492ddc48eb298dfb94a603d30ba3e444
parent3e56f08bffe9e3e2b936eb73bd51d8800d1b42c2 (diff)
kbuild: remove extra ifdef/endif of top Makefile
The GNU make's origin function know undefined variable well, so the outer ifdef/endif conditional checking is unneeded. From `info make` documentation, origin will return `undefined' if VARIABLE was never defined. `command line' if VARIABLE was defined on the command line. ... Therefore, $(origin V) will get a value anyway, killing ifdef/endif is viable and safe. Furthermore, I've checked the minimal requirements from Documentation/Changes is GNU make 3.79.1, and that version of GNU make has support of origin function well already, so now it's safe to kill the outer conditional checking, without upgrading the minimal requirements. Signed-off-by: Cheng Renquan <crq@kernel.org> Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
-rw-r--r--Makefile26
1 files changed, 9 insertions, 17 deletions
diff --git a/Makefile b/Makefile
index 106515492089..0c8ee91bc26a 100644
--- a/Makefile
+++ b/Makefile
@@ -35,10 +35,8 @@ MAKEFLAGS += -rR --no-print-directory
35# To put more focus on warnings, be less verbose as default 35# To put more focus on warnings, be less verbose as default
36# Use 'make V=1' to see the full commands 36# Use 'make V=1' to see the full commands
37 37
38ifdef V 38ifeq ("$(origin V)", "command line")
39 ifeq ("$(origin V)", "command line") 39 KBUILD_VERBOSE = $(V)
40 KBUILD_VERBOSE = $(V)
41 endif
42endif 40endif
43ifndef KBUILD_VERBOSE 41ifndef KBUILD_VERBOSE
44 KBUILD_VERBOSE = 0 42 KBUILD_VERBOSE = 0
@@ -54,10 +52,8 @@ endif
54# See the file "Documentation/sparse.txt" for more details, including 52# See the file "Documentation/sparse.txt" for more details, including
55# where to get the "sparse" utility. 53# where to get the "sparse" utility.
56 54
57ifdef C 55ifeq ("$(origin C)", "command line")
58 ifeq ("$(origin C)", "command line") 56 KBUILD_CHECKSRC = $(C)
59 KBUILD_CHECKSRC = $(C)
60 endif
61endif 57endif
62ifndef KBUILD_CHECKSRC 58ifndef KBUILD_CHECKSRC
63 KBUILD_CHECKSRC = 0 59 KBUILD_CHECKSRC = 0
@@ -69,12 +65,10 @@ endif
69ifdef SUBDIRS 65ifdef SUBDIRS
70 KBUILD_EXTMOD ?= $(SUBDIRS) 66 KBUILD_EXTMOD ?= $(SUBDIRS)
71endif 67endif
72ifdef M
73 ifeq ("$(origin M)", "command line")
74 KBUILD_EXTMOD := $(M)
75 endif
76endif
77 68
69ifeq ("$(origin M)", "command line")
70 KBUILD_EXTMOD := $(M)
71endif
78 72
79# kbuild supports saving output files in a separate directory. 73# kbuild supports saving output files in a separate directory.
80# To locate output files in a separate directory two syntaxes are supported. 74# To locate output files in a separate directory two syntaxes are supported.
@@ -98,10 +92,8 @@ ifeq ($(KBUILD_SRC),)
98 92
99# OK, Make called in directory where kernel src resides 93# OK, Make called in directory where kernel src resides
100# Do we want to locate output files in a separate directory? 94# Do we want to locate output files in a separate directory?
101ifdef O 95ifeq ("$(origin O)", "command line")
102 ifeq ("$(origin O)", "command line") 96 KBUILD_OUTPUT := $(O)
103 KBUILD_OUTPUT := $(O)
104 endif
105endif 97endif
106 98
107# That's our default target when none is given on the command line 99# That's our default target when none is given on the command line