On 03/31/2014 01:36 PM, Sam Ravnborg wrote: > On Mon, Mar 31, 2014 at 04:41:36PM +0900, Masahiro Yamada wrote: >> 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. >> >> Signed-off-by: Masahiro Yamada <yamada.m@xxxxxxxxxxxxxxxx> >> --- >> Makefile | 5 +++-- >> 1 file changed, 3 insertions(+), 2 deletions(-) >> >> diff --git a/Makefile b/Makefile >> index 575e1f8..35b5b7e 100644 >> --- a/Makefile >> +++ b/Makefile >> @@ -120,9 +120,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) sub-make > > Hi Masahiro. > > In the past I have rejected such patches - but today I fail to recall why. I believe that it was due this kind of patch allowing typos to cause builds that one does not want to make. E.g., if I already have O=OUT1 directory and I mistype O=OUT2, this will cause a full build (potentially) in OUT2, even if it should do a small rebuild in OUT1 instead. I think this is bad, but I won't exactly nak it. > I did a very quick test-spin on this and worked nicely. > > So you get my: > > Acked-by: Sam Ravnborg <sam@xxxxxxxxxxxx> -- ~Randy -- To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html