Hi,
after moving crt0s and lscripts away from the mainboards' Makefiles, those Makefiles are rather simple now, with more opportunities to move out things.
Attached patch does: - make HAVE_HARD_RESET match what newconfig did - introduce BOARD_HAS_HARD_RESET and use it if a board provides hard_reset in $(MAINBOARDDIR)/reset.c, instead of some chipset component - move a couple of rules out of the mainboards' Makefiles into src/arch/i386/Makefile.inc: initobj-y += crt0.o obj-y += mainboard.o obj-$(CONFIG_GENERATE_MP_TABLE) += mptable.o obj-$(CONFIG_GENERATE_PIRQ_TABLE) += irq_tables.o obj-$(CONFIG_BOARD_HAS_HARD_RESET) += reset.o - remove Makefile.incs that are empty (or comment-only) after these changes, incl. Makefile.romccboard.inc (and references to it) - Make include not fail if file doesn't exist.
reset.o used to be HAVE_HARD_RESET, but to make this rule more universal, that new variable had to be introduced.
The rationale for this work is that it unifies the mainboard layout, which leads to less cargo cult when creating a new board, which we usually start by copying from a similar one. It also makes it easier to do global changes, as more common functionality is in common files.
It's build tested and has no regression vs. current HEAD (ie. the same two boards fail for the same reason) and is boot tested on kontron/986lcd-m.
Signed-off-by: Patrick Georgi patrick.georgi@coresystems.de
Future work in this area: Move ROMCCFLAGS into Kconfig or global Makefiles, same for the ACPI related rules. Many more mainboard-Makefiles can be removed then.
Patrick