9
0
Fork 0

kbuild: create a build directory automatically for out-of-tree build

Kbuild supports saving output files in a separate directory.
But the build directory must be created beforehand. For example,

  $ mkdir -p dir/to/store/output/files
  $ make O=dir/to/store/output/files defconfig

Creating a build directory automatically would be useful.

[ imported from Linux Kernel, commit 1c9e70a55b08 ]
Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
Acked-by: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: Michal Marek <mmarek@suse.cz>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
This commit is contained in:
Masahiro Yamada 2014-12-24 13:35:55 +09:00 committed by Sascha Hauer
parent d6d28acee0
commit e7554c0cb2
1 changed files with 3 additions and 2 deletions

View File

@ -112,9 +112,10 @@ ifneq ($(KBUILD_OUTPUT),)
# Invoke a second make in the output directory, passing relevant variables
# check that the output directory actually exists
saved-output := $(KBUILD_OUTPUT)
KBUILD_OUTPUT := $(shell cd $(KBUILD_OUTPUT) && /bin/pwd)
KBUILD_OUTPUT := $(shell mkdir -p $(KBUILD_OUTPUT) && cd $(KBUILD_OUTPUT) \
&& /bin/pwd)
$(if $(KBUILD_OUTPUT),, \
$(error output directory "$(saved-output)" does not exist))
$(error failed to create output directory "$(saved-output)"))
PHONY += $(MAKECMDGOALS)