[U-Boot] __FILE__ usage and and SPL limits for SRAM
Nishanth Menon
nm at ti.com
Tue Mar 28 11:20:53 UTC 2017
Hi Masahiro-san,
On Tue, Mar 28, 2017 at 1:29 AM, Masahiro Yamada
<yamada.masahiro at socionext.com> wrote:
[...]
>
> When O= is given, the build system runs in the object tree,
> not in the source tree.
> (This is the same as Linux.)
>
> If you see the top Makefile:
>
> 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
>
>
>
>
> If O= points to a sub-directory of the source tree,
> the relative path "srctree := .." is used.
>
> Otherwise, the absolute path srctree := $(KBUILD_SRC) is used.
> In your case, "O=../b" means the source tree and the obj tree
> are siblings. So, absolute path.
I did simplify this a bit with O=../b to highlight exactly what you
mentioned above. in our case, the O=path points to a completely
different directory path.
> If you want to see a short relative path for __FILE__,
> I'd recommend to use a sub-directory for O=.
>
> For example, your source tree is located at
> ~/aaaaaaaaa/bbbbbbb/cccccccc/u-boot,
> create a directory ~/aaaaaaaaa/bbbbbbb/cccccccc/u-boot/foo,
> then give O=foo
Typical product build such as OE recipes used (in our case) does not
build into the source folder, instead, all binary builds are pointed
to either a temporary location or a package build location. So, while
O=source_path/build would aliviate the problem, it still does'nt
really solve the root of the issue.
--
---
Regards,
Nishanth Menon
More information about the U-Boot
mailing list