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 <f...@skynet.be>
---
 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

Reply via email to