From: Sam Ravnborg <sam@ravnborg.org>
To: linux-kbuild <linux-kbuild@vger.kernel.org>,
LKML <linux-kernel@vger.kernel.org>
Cc: Cheng Renquan <crq@kernel.org>, Sam Ravnborg <sam@ravnborg.org>
Subject: [PATCH 22/39] kbuild: remove extra ifdef/endif of top Makefile
Date: Sat, 6 Jun 2009 01:42:40 +0200 [thread overview]
Message-ID: <1244245377-17441-22-git-send-email-sam@ravnborg.org> (raw)
In-Reply-To: <20090605233720.GA13588@uranus.ravnborg.org>
From: Cheng Renquan <crq@kernel.org>
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>
---
Makefile | 26 +++++++++-----------------
1 files changed, 9 insertions(+), 17 deletions(-)
diff --git a/Makefile b/Makefile
index 610d1c3..e270254 100644
--- a/Makefile
+++ b/Makefile
@@ -35,10 +35,8 @@ MAKEFLAGS += -rR --no-print-directory
# To put more focus on warnings, be less verbose as default
# Use 'make V=1' to see the full commands
-ifdef V
- ifeq ("$(origin V)", "command line")
- KBUILD_VERBOSE = $(V)
- endif
+ifeq ("$(origin V)", "command line")
+ KBUILD_VERBOSE = $(V)
endif
ifndef KBUILD_VERBOSE
KBUILD_VERBOSE = 0
@@ -54,10 +52,8 @@ endif
# See the file "Documentation/sparse.txt" for more details, including
# where to get the "sparse" utility.
-ifdef C
- ifeq ("$(origin C)", "command line")
- KBUILD_CHECKSRC = $(C)
- endif
+ifeq ("$(origin C)", "command line")
+ KBUILD_CHECKSRC = $(C)
endif
ifndef KBUILD_CHECKSRC
KBUILD_CHECKSRC = 0
@@ -69,12 +65,10 @@ endif
ifdef SUBDIRS
KBUILD_EXTMOD ?= $(SUBDIRS)
endif
-ifdef M
- ifeq ("$(origin M)", "command line")
- KBUILD_EXTMOD := $(M)
- endif
-endif
+ifeq ("$(origin M)", "command line")
+ KBUILD_EXTMOD := $(M)
+endif
# kbuild supports saving output files in a separate directory.
# To locate output files in a separate directory two syntaxes are supported.
@@ -98,10 +92,8 @@ ifeq ($(KBUILD_SRC),)
# OK, Make called in directory where kernel src resides
# Do we want to locate output files in a separate directory?
-ifdef O
- ifeq ("$(origin O)", "command line")
- KBUILD_OUTPUT := $(O)
- endif
+ifeq ("$(origin O)", "command line")
+ KBUILD_OUTPUT := $(O)
endif
# That's our default target when none is given on the command line
--
1.6.3.rc3.40.g75b44
next prev parent reply other threads:[~2009-06-05 23:41 UTC|newest]
Thread overview: 48+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-06-05 23:37 kbuild-next content Sam Ravnborg
2009-06-05 23:42 ` [PATCH 01/39] kconfig: handle comment entries within choice/endchoice Sam Ravnborg
2009-06-05 23:42 ` [PATCH 02/39] kbuild, deb-pkg: minor general improvements in builddeb script Sam Ravnborg
2009-06-05 23:42 ` [PATCH 03/39] kbuild, deb-pkg: refactor code to reduce duplication Sam Ravnborg
2009-06-05 23:42 ` [PATCH 04/39] kbuild, deb-pkg: fix 'file not found' error when building .deb package for arm Sam Ravnborg
2009-06-05 23:42 ` [PATCH 05/39] kbuild, deb-pkg: pass Debian maintainer script parameters to packaging hook scripts Sam Ravnborg
2009-06-05 23:42 ` [PATCH 06/39] kbuild, deb-pkg: allow to specify a custom revision for .deb packages Sam Ravnborg
2009-06-05 23:42 ` [PATCH 07/39] kbuild, deb-pkg: allow alternative hook scripts directory in " Sam Ravnborg
2009-06-05 23:42 ` [PATCH 08/39] kbuild, deb-pkg: improve changelog entry and package descriptions Sam Ravnborg
2009-06-05 23:42 ` [PATCH 09/39] kbuild, deb-pkg: generate debian/copyright file Sam Ravnborg
2009-06-05 23:42 ` [PATCH 10/39] kbuild, deb-pkg: improve maintainer identification Sam Ravnborg
2009-06-05 23:42 ` [PATCH 11/39] kbuild, deb-pkg: improve Source field Sam Ravnborg
2009-06-05 23:42 ` [PATCH 12/39] kbuild, deb-pkg: fix generated package name Sam Ravnborg
2009-06-05 23:42 ` [PATCH 13/39] kbuild, deb-pkg: fix Provides field Sam Ravnborg
2009-06-05 23:42 ` [PATCH 14/39] kbuild, deb-pkg: fix Section field Sam Ravnborg
2009-06-05 23:42 ` [PATCH 15/39] kbuild, deb-pkg: bump standards version Sam Ravnborg
2009-06-05 23:42 ` [PATCH 16/39] initconst adjustments Sam Ravnborg
2009-06-05 23:42 ` [PATCH 17/39] kbuild: fix header export when __ASSEMBLY__ is used Sam Ravnborg
2009-06-06 0:41 ` Arnd Bergmann
2009-06-06 5:45 ` Jaswinder Singh Rajput
2009-06-06 6:05 ` Sam Ravnborg
2009-06-06 8:14 ` Russell King
2009-06-05 23:42 ` [PATCH 18/39] kbuild/headers_check: refine extern check Sam Ravnborg
2009-06-06 0:46 ` Arnd Bergmann
2009-06-06 8:38 ` Sam Ravnborg
2009-06-06 15:25 ` Arnd Bergmann
2009-06-08 1:31 ` Amerigo Wang
2009-06-05 23:42 ` [PATCH 19/39] kbuild: clean up scripts/headers.sh Sam Ravnborg
2009-06-05 23:42 ` [PATCH 20/39] kbuild: allow docproc invocation from external Sam Ravnborg
2009-06-05 23:42 ` [PATCH 21/39] kbuild/Documentation: Incorrect makefile syntax in example Sam Ravnborg
2009-06-05 23:42 ` Sam Ravnborg [this message]
2009-06-05 23:42 ` [PATCH 23/39] kconfig: fix typo "mconfig" to "menuconfig" in a comment Sam Ravnborg
2009-06-05 23:42 ` [PATCH 24/39] kconfig: add a note about the deps to the 'silentoldconfig' help Sam Ravnborg
2009-06-05 23:42 ` [PATCH 25/39] kconfig: resort the documentation of the environment variables Sam Ravnborg
2009-06-05 23:42 ` [PATCH 26/39] gitignore: ignore Kconfig i18n files Sam Ravnborg
2009-06-05 23:42 ` [PATCH 27/39] kconfig qconf: fix -Wall compiler warnings Sam Ravnborg
2009-06-05 23:42 ` [PATCH 28/39] kconfig qconf: fix namespace for Horizontal and Vertical enum values Sam Ravnborg
2009-06-05 23:42 ` [PATCH 29/39] kconfig qconf: add namespace for use of Key_ " Sam Ravnborg
2009-06-05 23:42 ` [PATCH 30/39] kconfig qconf: fix the type of the desktop widget Sam Ravnborg
2009-06-05 23:42 ` [PATCH 31/39] kconfig: do not hardcode ".config" filename Sam Ravnborg
2009-06-05 23:42 ` [PATCH 32/39] kconfig: do not hardcode "include/config/auto.conf" filename Sam Ravnborg
2009-06-05 23:42 ` [PATCH 33/39] kernel/kallsyms.c: replace deprecated __initcall with device_initcall and fix whitespace Sam Ravnborg
2009-06-05 23:42 ` [PATCH 34/39] scripts/headers_check.pl: correct RE in header CONFIG leak check Sam Ravnborg
2009-06-05 23:42 ` [PATCH 35/39] kbuild: add hint about __refdata to modpost Sam Ravnborg
2009-06-05 23:42 ` [PATCH 36/39] menu: fix embedded menu presentation Sam Ravnborg
2009-06-05 23:42 ` [PATCH 37/39] Remove bashisms from scripts Sam Ravnborg
2009-06-05 23:42 ` [PATCH 38/39] ignore *.patch files Sam Ravnborg
2009-06-05 23:42 ` [PATCH 39/39] kbuild: fix "Argument list too long" error for "make headers_check", Sam Ravnborg
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1244245377-17441-22-git-send-email-sam@ravnborg.org \
--to=sam@ravnborg.org \
--cc=crq@kernel.org \
--cc=linux-kbuild@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox