From 2063197a4f610898c6e258e9fbd58b0bc92c7e85 Mon Sep 17 00:00:00 2001 From: Patrick Georgi Date: Tue, 9 Feb 2010 12:21:10 +0000 Subject: Move all the copies of the romstage.inc rule to src/arch/i386/Makefile.inc For that to work, I had to: - Add a CONFIG_ROMCC variable - Set that variable on all ROMCC boards - conditionally choose romcc or gcc rule based on that variable - remove those two rules from all the boards' Makefiles - switch a couple of boards to HAVE_OPTION_TABLE, as they actually have. Also remove the duplication of rules with the sole difference of if they depend on option_table.h or not. Signed-off-by: Patrick Georgi Acked-by: Peter Stuge git-svn-id: svn://svn.coreboot.org/coreboot/trunk@5099 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1 --- src/arch/i386/Kconfig | 4 ++++ src/arch/i386/Makefile.inc | 21 +++++++++++++++++++++ 2 files changed, 25 insertions(+) (limited to 'src/arch/i386') diff --git a/src/arch/i386/Kconfig b/src/arch/i386/Kconfig index 1bbeca513d..d64eb7f28e 100644 --- a/src/arch/i386/Kconfig +++ b/src/arch/i386/Kconfig @@ -49,6 +49,10 @@ config BIG_BOOTBLOCK default n if TINY_BOOTBLOCK default y +config ROMCC + bool + default n + config BOOTBLOCK_NORTHBRIDGE_INIT string diff --git a/src/arch/i386/Makefile.inc b/src/arch/i386/Makefile.inc index 5f7bab600e..b46fc8cfb5 100644 --- a/src/arch/i386/Makefile.inc +++ b/src/arch/i386/Makefile.inc @@ -66,6 +66,27 @@ $(obj)/coreboot.a: $(objs) ifeq ($(crt0s),) $(error crt0s are empty. If your board still uses crt0-y and ldscript-y: It shouldn't, we moved away from that in r5065) endif + +OPTION_TABLE_H:= +ifeq ($(CONFIG_HAVE_OPTION_TABLE),y) +OPTION_TABLE_H:=$(obj)/option_table.h +endif + +ifeq ($(CONFIG_ROMCC),y) +ROMCCFLAGS ?= -mcpu=p2 -O2 + +$(obj)/mainboard/$(MAINBOARDDIR)/failover.inc: $(obj)/romcc $(src)/arch/i386/lib/failover.c + $(obj)/romcc $(ROMCCFLAGS) --label-prefix=failover $(INCLUDES) $(src)/arch/i386/lib/failover.c -o $@ + +$(obj)/mainboard/$(MAINBOARDDIR)/romstage.inc: $(src)/mainboard/$(MAINBOARDDIR)/romstage.c $(obj)/romcc $(OPTION_TABLE_H) $(obj)/build.h + $(obj)/romcc $(ROMCCFLAGS) $(INCLUDES) $< -o $@ + +else +$(obj)/mainboard/$(MAINBOARDDIR)/romstage.inc: $(src)/mainboard/$(MAINBOARDDIR)/romstage.c $(OPTION_TABLE_H) $(obj)/build.h + $(CC) $(DISTRO_CFLAGS) $(CFLAGS) $(CPPFLAGS) $(DEBUG_CFLAGS) -I$(src) -I. -c -S $< -o $@ + perl -e 's/\.rodata/.rom.data/g' -pi $@ + perl -e 's/\.text/.section .rom.text/g' -pi $@ +endif endif ifeq ($(CONFIG_TINY_BOOTBLOCK),y) -- cgit v1.2.3