summaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
authorMichal Marek <mmarek@suse.cz>2014-04-26 01:25:18 +0400
committerMichal Marek <mmarek@suse.cz>2014-05-15 00:43:05 +0400
commit9da0763bdd82572be243fcf5161734f11568960f (patch)
tree96a4b40fc2b5dc6044687ff448963ea9ee8a66f1 /Makefile
parent890676c65d699db3ad82e7dddd0cf8fb449031af (diff)
downloadlinux-9da0763bdd82572be243fcf5161734f11568960f.tar.xz
kbuild: Use relative path when building in a subdir of the source tree
When doing make O=<subdir>, use '..' to refer to the source tree. This allows for more readable compiler messages, and, more importantly, it sets the VPATH to '..', so filenames in WARN_ON() etc. will be shorter. Acked-by: Sam Ravnborg <sam@ravnborg.org> Signed-off-by: Michal Marek <mmarek@suse.cz>
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile12
1 files changed, 11 insertions, 1 deletions
diff --git a/Makefile b/Makefile
index 3e134ec4c3d3..f4702c10b2b8 100644
--- a/Makefile
+++ b/Makefile
@@ -149,7 +149,17 @@ else
_all: modules
endif
-srctree := $(if $(KBUILD_SRC),$(KBUILD_SRC),.)
+ifeq ($(KBUILD_SRC),)
+ # building in the source tree
+ srctree := .
+else
+ ifeq ($(KBUILD_SRC)/,$(dir $(CURDIR)))
+ # building in a subdirectory of the source tree
+ srctree := ..
+ else
+ srctree := $(KBUILD_SRC)
+ endif
+endif
objtree := .
src := $(srctree)
obj := $(objtree)