[PATCH 1/1 linux-next] kbuild: add make force=1 for testing

From: Fabian Frederick
Date: Sun Jul 24 2016 - 09:28:42 EST


Commit 51193b76bfff
("kbuild: forbid kernel directory to contain spaces and colons")

makes it impossible to build kernel on default SD labels like
"SD Card" for instance.

Makefile:133: *** main directory cannot contain spaces nor colons. Stop.

User could rename directories but volume name is not always writable.

This patch adds ability to do make force=1 for people
not interested in modules_install in this case but only testing.

(Note that other options could go under ifndef force)

Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx>
---
Makefile | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/Makefile b/Makefile
index caa33e0..89d00a5 100644
--- a/Makefile
+++ b/Makefile
@@ -128,8 +128,10 @@ _all:
# Cancel implicit rules on top Makefile
$(CURDIR)/Makefile Makefile: ;

-ifneq ($(words $(subst :, ,$(CURDIR))), 1)
+ifndef force
+ ifneq ($(words $(subst :, ,$(CURDIR))), 1)
$(error main directory cannot contain spaces nor colons)
+ endif
endif

ifneq ($(KBUILD_OUTPUT),)
@@ -1408,6 +1410,7 @@ help:
@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 ' make force=1 [options] Avoid feasibility checks. Use at your own risk'
@echo ''
@echo 'Execute "make" or "make all" to build all targets marked with [*] '
@echo 'For further info see the ./README file'
--
2.8.1