[U-Boot] [PATCH] kbuild,tegra124: add dummy obj- for Kbuild

Masahiro Yamada yamada.m at jp.panasonic.com
Thu Feb 20 09:24:30 CET 2014


Hello Stephen,


On Wed, 19 Feb 2014 09:36:14 -0700
Stephen Warren <swarren at wwwdotorg.org> wrote:

> On 02/19/2014 07:46 AM, Albert ARIBAUD wrote:
> > Hi Masahiro,
> > 
> > On Wed, 19 Feb 2014 22:26:43 +0900, Masahiro Yamada
> > <yamada.m at jp.panasonic.com> wrote:
> > 
> >> In Kbuild, every makefile must have non-empty obj- or obj-y.
> >> Otherwise, built-in.o will not be created and the link stage
> >> will fail.
> ...
> >> diff --git a/arch/arm/cpu/armv7/tegra124/Makefile b/arch/arm/cpu/armv7/tegra124/Makefile
> ...
> >> +# necessary to create built-in.o
> >> +obj- := __dummy__.o
> 
> obj- or obj-y?

Definitely obj-.
If you add a non-existing object to obj-y, build will fail.

> Adding something to obj-, which presumably isn't used at all, seems very
> odd.
> 
> > Is there really no other way than to specify an unexisting __dummy__.o
> > in order to build a useless built-in.o?
> 
> I haven't looked at Kbuild at all, but in the build systems I've
> written, for each sub-directory makefile that was included, the
> makefiles would include a "pre-makefile" first and a "post-makefile"
> after. The "post-makefile" could easily do something like:
> 
> ifeq ($(obj-y),)
>     obg-y := __dummy__.o
> endif


You mean
ifeq ($(obj-y),)
     obj- := __dummy__.o
endif

should be put in a common part(scripts/Makefile.build) ?

No, no. We can't do this.

It has a side effect.

If we put it in the common part, build-in.o will be generated
in all sub-directories, including tools/, tools/env,
examples/standalone/, etc.

We do not want built-in.o  in host progs / standalone progs
directories.


Best Regards
Masahiro Yamada



More information about the U-Boot mailing list