[U-Boot] [PATCH 12/15] kbuild: use shorten logs for IMX images
Masahiro Yamada
yamada.m at jp.panasonic.com
Mon Feb 24 02:58:52 CET 2014
Hello Simon,
Thanks for your close review.
This is always appreciated.
> > diff --git a/spl/Makefile b/spl/Makefile
> > index 22d6323..e8c5938 100644
> > --- a/spl/Makefile
> > +++ b/spl/Makefile
> > @@ -178,8 +178,8 @@ MKIMAGEFLAGS_MLO.byteswap = -T omapimage -n byteswap -a $(CONFIG_SPL_TEXT_BASE)
> > MLO MLO.byteswap: $(obj)/u-boot-spl.bin
> > $(call if_changed,mkimage)
> >
> > -$(objtree)/SPL: $(obj)/u-boot-spl.bin
> > - $(Q)$(MAKE) $(build)=spl/arch/arm/imx-common $@
> > +SPL: $(obj)/u-boot-spl.bin
> > + $(Q)$(MAKE) $(build)=arch/arm/imx-common $@
>
> This series looks good to me, but I would like to understand what is
> happening here. Are you changing it to pick up the source from the
> real arch/ directory instead of the spl copy?
Two things are happening here:
[1] drop $(objtree)/
[2] modify $(build)=spl/arch/arm/imx-commot to
$(build)=arch/arm/imx-common
Let me explain the reason of each one by one.
[1]
$(objtree) ( and $(OBJTREE)) points to the absolute path of the
working directory.
I want short log should be like:
UIMAGE SPL
rather than
UIMAGE /home/yamada/workspace/SPL
That's why I dropped $(objtree)/ and $(OBJTREE)/ prefixes
from all IMX related images.
[2]
I guess it's difficult to understand what's happening here.
I hope the following explanation will be clear for you..
At this commit,
Both ./Makefile and spl/Makefile descend into arch/arm/imx-common.
From the ./Makefile, here
u-boot.imx: u-boot.bin
$(Q)$(MAKE) $(build)=arch/arm/imx-common $@
u-boot-with-spl.imx u-boot-with-nand-spl.imx: spl/u-boot-spl.bin u-boot.bin
$(Q)$(MAKE) $(build)=arch/arm/imx-common $@
And from spl/Makefile, here
SPL: $(obj)/u-boot-spl.bin
$(Q)$(MAKE) $(build)=arch/arm/imx-common $@
I needed to specify "$(build)=arch/arm/imx-common" consistenty
to include ".*.cmd" files correctly.
I added
targets += $(addprefix ../../../,$(IMX_CONFIG) SPL u-boot.uim spl/u-boot-nand-spl.imx)
at the end of arch/arm/imx-common/Makefile.
(It may look weird. )
And it is prefixed (obj)/ at scripts/Makefile.lib line 76
targets := $(addprefix $(obj)/,$(targets))
If I had not changed "$(build)=spl/arm/arm/imx-common",
$(targets) would have pointed to "spl/arch/arm/imx-common/../../../SPL),
that is, "spl/SPL".
But .SPL.cmd is not in spl/ directory.
Anyway, it is really complicated to descend into arch/arm/imx-common
from two Makefiles, ./Makefile and spl/Makefile.
So I moved the SPL rule from spl/Makefile to ./Makefile.
Best Regards
Masahiro Yamada
More information about the U-Boot
mailing list