[U-Boot] Makefile and build stiching for ARM SoC

Wolfgang Denk wd at denx.de
Tue May 4 21:30:30 CEST 2010


Dear Ayewin Oung,

In message <o2mae8480551005041105gfff68619wf6f9032cdd95995 at mail.gmail.com> you wrote:
>
> This is my "Hi, I am new to U-Boot, how do I get started?"  email..

Welcome.

> The thing I'm missing is, how is to level Makefile's
> 
> xxxx_config : unconfig
>     @$(MKCONFIG) $(@:_config=) arm arm926ejs xxxx <aaa> <bbb>
> 
> To actually invoking which Makefiles in which sub-directories etc...

Here the top level Makefile sources your board settings:

 153 # load ARCH, BOARD, and CPU configuration
 154 include $(obj)include/config.mk
 155 export  ARCH CPU BOARD VENDOR SOC

Here it adds a make target for your board specific code:

 250 LIBBOARD = board/$(BOARDDIR)/lib$(BOARD).a
 251 LIBBOARD := $(addprefix $(obj),$(LIBBOARD))

And here it adds this to the list of libraries to build:

 285 __OBJS := $(subst $(obj),,$(OBJS))
 286 __LIBS := $(subst $(obj),,$(LIBS)) $(subst $(obj),,$(LIBBOARD))

Here is the build dependency:

 342 $(obj)u-boot:   depend $(SUBDIRS) $(OBJS) $(LIBBOARD) $(LIBS) $(LDSCRIPT) $(obj)u-boot.lds

and here the build rule which will invoce your board dirctory's
Makefile:

 358 $(LIBBOARD):    depend $(LIBS)
 359                 $(MAKE) -C $(dir $(subst $(obj),,$@))


Best regards,

Wolfgang Denk

-- 
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
The C-shell doesn't parse. It adhoculates.
    - Casper.Dik at Holland.Sun.COM in <3ol96k$b2j at engnews2.Eng.Sun.COM>


More information about the U-Boot mailing list