[U-Boot] U-Boot approved way to set up vendor common/ directory?

Robert P. J. Day rpjday at crashcourse.ca
Sun May 15 12:35:33 CEST 2016


  currently writing a wiki page for upcoming embedded linux course on
how to set up a "common" vendor directory to avoid duplication,
partial result here:

  http://www.crashcourse.ca/wiki/index.php/U-Boot_common

and curious about a couple different ways to do it that both seem
reasonable.

  the example i use as a "good" way is how freescale is set up, with
common directory having Makefile so the common directory is added to
"libs-y" in top-level Makefile. and the common/Makefile will then
have, to some extent, conditional inclusion based on, perhaps, some
subset of that vendor's boards, as in:

... snip ...
obj-$(CONFIG_MPC8541CDS)        += cds_pci_ft.o
obj-$(CONFIG_MPC8548CDS)        += cds_pci_ft.o
obj-$(CONFIG_MPC8555CDS)        += cds_pci_ft.o
... snip ...

so that approach, while having a nice design, does require the common
Makefile to perhaps do piles of checking for the target board and
having lots of conditional "obj-y" lines.

  the other approach i see is siemens, which has a common/ directory
with a small amount of content and no Makefile:

$ tree common
common
├── board.c
├── factoryset.c
└── factoryset.h
$

whereupon the lack of a common/Makefile requires individual siemens
board Makefiles to specifically pull in object files from the common
directory, as in:

  obj-y   += board.o
  ifndef CONFIG_SPL_BUILD
  obj-y += ../common/factoryset.o
  endif

which also seems fine, as long as there's not too much of that -- i'd
hate to have a board makefile that was awash in references to
"../common/...", but that's just me.

  anyway, is there a preferred style for this?

rday

-- 

========================================================================
Robert P. J. Day                                 Ottawa, Ontario, CANADA
                        http://crashcourse.ca

Twitter:                                       http://twitter.com/rpjday
LinkedIn:                               http://ca.linkedin.com/in/rpjday
========================================================================


More information about the U-Boot mailing list