diff options
author | Peter Stuge <peter@stuge.se> | 2011-02-07 20:16:40 +0000 |
---|---|---|
committer | Peter Stuge <peter@stuge.se> | 2011-02-07 20:16:40 +0000 |
commit | b1d1c4d0840c74ebfa2ced0c56d492a075e4599f (patch) | |
tree | 279818091759e0a5078c0f60028939e745443664 | |
parent | 1440d0880b76c67beb341d59ee7b4fcb39307f60 (diff) | |
download | coreboot-b1d1c4d0840c74ebfa2ced0c56d492a075e4599f.tar.xz |
Reliably build arbitrary Kconfig-based revisions of SeaBIOS
Reliability is accomplished by checking out the desired SeaBIOS commitish
into a branch named 'coreboot' in the local SeaBIOS git repository. Using
a branch allows TAG-$(CONFIG_SEABIOS_..) to refer to any commitish in the
SeaBIOS git repo, not just branches and tags.
Configuration is done with make defconfig followed by enabling and
disabling of the relevant coreboot-specific SeaBIOS options by appending
to .config using echo. This works, because later entries in .config will
overwrite earlier ones.
Signed-off-by: Peter Stuge <peter@stuge.se>
Acked-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
git-svn-id: svn://svn.coreboot.org/coreboot/trunk@6335 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
-rw-r--r-- | payloads/external/SeaBIOS/Makefile.inc | 41 | ||||
-rw-r--r-- | src/arch/x86/Makefile.inc | 1 |
2 files changed, 25 insertions, 17 deletions
diff --git a/payloads/external/SeaBIOS/Makefile.inc b/payloads/external/SeaBIOS/Makefile.inc index 0ffdb638e1..575669c675 100644 --- a/payloads/external/SeaBIOS/Makefile.inc +++ b/payloads/external/SeaBIOS/Makefile.inc @@ -1,31 +1,38 @@ TAG-$(CONFIG_SEABIOS_MASTER)=origin/master -TAG-$(CONFIG_SEABIOS_STABLE)=rel-0.6.1.3 +TAG-$(CONFIG_SEABIOS_STABLE)=1efb10b9ea30c45a8c9c6230234fefa10d2886ed -all: seabios - -seabios: patch - cd seabios; $(MAKE) +unexport KCONFIG_AUTOCONFIG -patch: checkout - test -r seabios/.patched || \ - perl -pi -e "s,#define CONFIG_COREBOOT 0,#define CONFIG_COREBOOT 1,;" \ - -e "s,#define CONFIG_DEBUG_SERIAL 0,#define CONFIG_DEBUG_SERIAL 1,;" \ - -e "s,#define CONFIG_VGAHOOKS 0,#define CONFIG_VGAHOOKS 1,;" \ - seabios/src/config.h - touch seabios/.patched +all: seabios checkout: - echo "Checking out SeaBIOS $(TAG-y)" + echo " GIT SeaBIOS $(TAG-y)" test -d seabios && ( cd seabios; git fetch ) || \ - git clone git://git.linuxtogo.org/home/kevin/seabios.git seabios - cd seabios; git checkout -m $(TAG-y) + git clone git://git.linuxtogo.org/home/kevin/seabios.git + cd seabios; git checkout master; git branch -D coreboot 2>/dev/null; git checkout -b coreboot $(TAG-y) + +config: checkout + echo " CONFIG SeaBIOS $(TAG-y)" + $(MAKE) -C seabios defconfig + echo "CONFIG_COREBOOT=y" >> seabios/.config + echo "CONFIG_DEBUG_SERIAL=y" >> seabios/.config + echo "CONFIG_COREBOOT_FLASH=y" >> seabios/.config + echo "CONFIG_LZMA=y" >> seabios/.config + echo "CONFIG_FLASH_FLOPPY=y" >> seabios/.config + echo "CONFIG_VGAHOOKS=y" >> seabios/.config + # This shows how to force a previously set .config option *off* + #echo "# CONFIG_SMBIOS is not set" >> seabios/.config + +seabios: config + echo " MAKE SeaBIOS $(TAG-y)" + $(MAKE) -C seabios clean: - test -d seabios && (cd seabios; $(MAKE) clean) || exit 0 + test -d seabios && $(MAKE) -C seabios clean || exit 0 distclean: rm -rf seabios -.PHONY: seabios +.PHONY: checkout config seabios clean distclean diff --git a/src/arch/x86/Makefile.inc b/src/arch/x86/Makefile.inc index a07e3cd5c5..afdcb9efca 100644 --- a/src/arch/x86/Makefile.inc +++ b/src/arch/x86/Makefile.inc @@ -278,6 +278,7 @@ endif seabios: $(MAKE) -C payloads/external/SeaBIOS -f Makefile.inc \ + HOSTCC="$(HOSTCC)" \ CC="$(CC)" LD="$(LD)" OBJDUMP="$(OBJDUMP)" \ OBJCOPY="$(OBJCOPY)" STRIP="$(STRIP)" \ CONFIG_SEABIOS_MASTER=$(CONFIG_SEABIOS_MASTER) \ |