diff mbox

[U-Boot] kbuild: create a build directory automatically for out-of-tree build

Message ID 1395636927-11294-1-git-send-email-yamada.m@jp.panasonic.com
State Accepted
Delegated to: Tom Rini
Headers show

Commit Message

Masahiro Yamada March 24, 2014, 4:55 a.m. UTC
Prior to Kbuild, the build system created a build directory,
when it did not exist, for out-of-tree build.

This feature was dropped when we switched to Kbuild
because many of lines in makefiles were copied from Linux Kernel.
(In Linux Kernel, we have to create a build directory by ourselves
before starting build.)

That feature seems worth reviving for less typing
even if our code and Linux Kernel diverge.

Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
Suggested-by: Simon Glass <sjg@chromium.org>
---
 Makefile | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

Comments

Simon Glass March 24, 2014, 11:41 p.m. UTC | #1
+Tom

On 23 March 2014 22:55, Masahiro Yamada <yamada.m@jp.panasonic.com> wrote:

> Prior to Kbuild, the build system created a build directory,
> when it did not exist, for out-of-tree build.
>
> This feature was dropped when we switched to Kbuild
> because many of lines in makefiles were copied from Linux Kernel.
> (In Linux Kernel, we have to create a build directory by ourselves
> before starting build.)
>
> That feature seems worth reviving for less typing
> even if our code and Linux Kernel diverge.
>
> Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
> Suggested-by: Simon Glass <sjg@chromium.org>
>

Acked-by: Simon Glass <sjg@chromium.org>
Tested-by: Simon Glass <sjg@chromium.org>

Arguably could be a bug-fix for this release.
Tom Rini March 27, 2014, 5:20 p.m. UTC | #2
On Mon, Mar 24, 2014 at 05:41:47PM -0600, Simon Glass wrote:
> +Tom
> 
> On 23 March 2014 22:55, Masahiro Yamada <yamada.m@jp.panasonic.com> wrote:
> 
> > Prior to Kbuild, the build system created a build directory,
> > when it did not exist, for out-of-tree build.
> >
> > This feature was dropped when we switched to Kbuild
> > because many of lines in makefiles were copied from Linux Kernel.
> > (In Linux Kernel, we have to create a build directory by ourselves
> > before starting build.)
> >
> > That feature seems worth reviving for less typing
> > even if our code and Linux Kernel diverge.
> >
> > Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
> > Suggested-by: Simon Glass <sjg@chromium.org>
> >
> 
> Acked-by: Simon Glass <sjg@chromium.org>
> Tested-by: Simon Glass <sjg@chromium.org>
> 
> Arguably could be a bug-fix for this release.

Yeah, I like this and will pick it up.  The only question is, has this
idea already been rejected in the kernel?
Masahiro Yamada March 28, 2014, 2:37 a.m. UTC | #3
Hi Tom,


On Thu, 27 Mar 2014 13:20:33 -0400
Tom Rini <trini@ti.com> wrote:

> On Mon, Mar 24, 2014 at 05:41:47PM -0600, Simon Glass wrote:
> > +Tom
> > 
> > On 23 March 2014 22:55, Masahiro Yamada <yamada.m@jp.panasonic.com> wrote:
> > 
> > > Prior to Kbuild, the build system created a build directory,
> > > when it did not exist, for out-of-tree build.
> > >
> > > This feature was dropped when we switched to Kbuild
> > > because many of lines in makefiles were copied from Linux Kernel.
> > > (In Linux Kernel, we have to create a build directory by ourselves
> > > before starting build.)
> > >
> > > That feature seems worth reviving for less typing
> > > even if our code and Linux Kernel diverge.
> > >
> > > Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
> > > Suggested-by: Simon Glass <sjg@chromium.org>
> > >
> > 
> > Acked-by: Simon Glass <sjg@chromium.org>
> > Tested-by: Simon Glass <sjg@chromium.org>
> > 
> > Arguably could be a bug-fix for this release.
> 
> Yeah, I like this and will pick it up.  The only question is, has this
> idea already been rejected in the kernel?
> 

I have not sent this patch to the kernel community yet.
OK. I will.


Best Regards
Masahiro Yamada
Simon Glass March 28, 2014, 2:43 a.m. UTC | #4
Hi,

On 27 March 2014 20:37, Masahiro Yamada <yamada.m@jp.panasonic.com> wrote:

> Hi Tom,
>
>
> On Thu, 27 Mar 2014 13:20:33 -0400
> Tom Rini <trini@ti.com> wrote:
>
> > On Mon, Mar 24, 2014 at 05:41:47PM -0600, Simon Glass wrote:
> > > +Tom
> > >
> > > On 23 March 2014 22:55, Masahiro Yamada <yamada.m@jp.panasonic.com>
> wrote:
> > >
> > > > Prior to Kbuild, the build system created a build directory,
> > > > when it did not exist, for out-of-tree build.
> > > >
> > > > This feature was dropped when we switched to Kbuild
> > > > because many of lines in makefiles were copied from Linux Kernel.
> > > > (In Linux Kernel, we have to create a build directory by ourselves
> > > > before starting build.)
> > > >
> > > > That feature seems worth reviving for less typing
> > > > even if our code and Linux Kernel diverge.
> > > >
> > > > Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
> > > > Suggested-by: Simon Glass <sjg@chromium.org>
> > > >
> > >
> > > Acked-by: Simon Glass <sjg@chromium.org>
> > > Tested-by: Simon Glass <sjg@chromium.org>
> > >
> > > Arguably could be a bug-fix for this release.
> >
> > Yeah, I like this and will pick it up.  The only question is, has this
> > idea already been rejected in the kernel?
> >
>
> I have not sent this patch to the kernel community yet.
> OK. I will.
>

My point is that this is a change from the old U-Boot behaviour, so it
would be nice to fix it.

Regards,
Simon


>
>
> Best Regards
> Masahiro Yamada
>
>
Tom Rini March 28, 2014, 9:16 p.m. UTC | #5
On Mon, Mar 24, 2014 at 01:55:27PM +0900, Masahiro Yamada wrote:

> Prior to Kbuild, the build system created a build directory,
> when it did not exist, for out-of-tree build.
> 
> This feature was dropped when we switched to Kbuild
> because many of lines in makefiles were copied from Linux Kernel.
> (In Linux Kernel, we have to create a build directory by ourselves
> before starting build.)
> 
> That feature seems worth reviving for less typing
> even if our code and Linux Kernel diverge.
> 
> Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
> Suggested-by: Simon Glass <sjg@chromium.org>
> Acked-by: Simon Glass <sjg@chromium.org>
> Tested-by: Simon Glass <sjg@chromium.org>

Applied to u-boot/master, thanks!
Masahiro Yamada April 15, 2014, 4:38 a.m. UTC | #6
Hi Tom,


On Fri, 28 Mar 2014 11:37:28 +0900
Masahiro Yamada <yamada.m@jp.panasonic.com> wrote:

> Hi Tom,
> 
> 
> On Thu, 27 Mar 2014 13:20:33 -0400
> Tom Rini <trini@ti.com> wrote:
> 
> > On Mon, Mar 24, 2014 at 05:41:47PM -0600, Simon Glass wrote:
> > > +Tom
> > > 
> > > On 23 March 2014 22:55, Masahiro Yamada <yamada.m@jp.panasonic.com> wrote:
> > > 
> > > > Prior to Kbuild, the build system created a build directory,
> > > > when it did not exist, for out-of-tree build.
> > > >
> > > > This feature was dropped when we switched to Kbuild
> > > > because many of lines in makefiles were copied from Linux Kernel.
> > > > (In Linux Kernel, we have to create a build directory by ourselves
> > > > before starting build.)
> > > >
> > > > That feature seems worth reviving for less typing
> > > > even if our code and Linux Kernel diverge.
> > > >
> > > > Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
> > > > Suggested-by: Simon Glass <sjg@chromium.org>
> > > >
> > > 
> > > Acked-by: Simon Glass <sjg@chromium.org>
> > > Tested-by: Simon Glass <sjg@chromium.org>
> > > 
> > > Arguably could be a bug-fix for this release.
> > 
> > Yeah, I like this and will pick it up.  The only question is, has this
> > idea already been rejected in the kernel?
> > 
> 
> I have not sent this patch to the kernel community yet.
> OK. I will.
> 

The good news is this feature was merged
in Linux Kernel mainline (commit 1c9e70a55).


Best Regards
Masahiro Yamada
diff mbox

Patch

diff --git a/Makefile b/Makefile
index 538c3bf..0522ba8 100644
--- a/Makefile
+++ b/Makefile
@@ -124,7 +124,8 @@  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))