
On Thu, Mar 20, 2014 at 02:17:07PM +0100, Daniel Schwierzeck wrote:
2014-03-20 1:11 GMT+01:00 Masahiro Yamada yamada.m@jp.panasonic.com:
Basicly I think it's a good idea, but I am afraid there are some problems.
[1] First, in this case, how can we select the target board?
Like this?
choice prompt "Board select" default BOARD_SANDBOX
config BOARD_VEXPRESS_AEMV8A bool "vexpress_aemv8a board"
config BOARD_ARCANGEL4 bool "arcangel4 board"
[ Snip: a thousand of boards ]
endchoice
If we run "make config", a bunch of board choices would be displayed and be gone away quickly. For "make menuconfig", it would be hard to select the board you are aiming at.
Maybe we should choose it in the top-down order? Like this?
I think only the top-down approach makes sense
[2] CONFIG_CPU_ CONFIG_SOC_ CONFIG_VENDOR_ CONFIG_BOARD_ are systematic prefixes and easy to understand.
But there are already some macros bound to specific CPUs, SoCs.
For example, CONFIG_SOC_TEGRA30 would be the same as existing CONFIG_TEGRA30.
We will have to merge macros with the same meaning.
in the first step we could do something like this:
config TEGRA30 bool
config SOC_TEGRA30 bool select TEGRA30
[3] How to select board directoy by using boolean macros.
If we try to emulate arch/arm/Makefile of Linux,
board-$(CONFIG_BOARD_VEXPRESS_AEMV8A) := vexpress_aemv8a board-$(CONFIG_BOARD_AXS101) := axs101 board-$(CONFIG_BOARD_ARCANGEL4) := arcangel4
Like this?
how about this:
Makefile: ... lib-y += boards/ ...
board/Makefile: obj-$(CONFIG_BOARD_A3000) += a3000/ ... obj-$(CONFIG_VENDOR_NVIDIA) += nvidia/ ...
board/nvidia/Makefile: obj-y += common/ obj-$(CONFIG_BOARD_BEAVER) += beaver/ obj-$(CONFIG_BOARD_CARDHU) += cardhu/ ...
Yes, would something like this be doable? Thanks!