summaryrefslogtreecommitdiff
path: root/payloads/external/SeaBIOS/Makefile
diff options
context:
space:
mode:
authorMartin Roth <martinroth@google.com>2016-03-16 10:39:30 -0600
committerMartin Roth <martinroth@google.com>2016-03-21 04:03:16 +0100
commitc8ed34075b7785c91cfb1c8556357b2e70cf765d (patch)
treed24ee1926540ac2e9e158d74be93b11623e33610 /payloads/external/SeaBIOS/Makefile
parentc2b50ace1b04c90c27dae8d5999c14f925b93c65 (diff)
payloads/external: Rename Makefile.inc to Makefile
These makefiles are not included by anything, so they shouldn't be named Makefile.inc. Also, having them all be named 'Makefile' makes some other consolidation work I'm doing much easier. Change-Id: I1234539ba6a0a6f47d2eb0c21de3da3607c6b8de Signed-off-by: Martin Roth <martinroth@google.com> Reviewed-on: https://review.coreboot.org/14130 Tested-by: build bot (Jenkins) Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
Diffstat (limited to 'payloads/external/SeaBIOS/Makefile')
-rw-r--r--payloads/external/SeaBIOS/Makefile74
1 files changed, 74 insertions, 0 deletions
diff --git a/payloads/external/SeaBIOS/Makefile b/payloads/external/SeaBIOS/Makefile
new file mode 100644
index 0000000000..0ac04d7a2f
--- /dev/null
+++ b/payloads/external/SeaBIOS/Makefile
@@ -0,0 +1,74 @@
+TAG-$(CONFIG_SEABIOS_MASTER)=origin/master
+TAG-$(CONFIG_SEABIOS_STABLE)=b3ef39f532db52bf17457ba931da758eeb38d6b4
+TAG-$(CONFIG_SEABIOS_REVISION)=$(CONFIG_SEABIOS_REVISION_ID)
+
+unexport KCONFIG_AUTOHEADER
+unexport KCONFIG_AUTOCONFIG
+unexport KCONFIG_DEPENDENCIES
+unexport KCONFIG_SPLITCONFIG
+unexport KCONFIG_TRISTATE
+unexport KCONFIG_NEGATIVES
+
+all: build
+
+seabios:
+ echo " Cloning SeaBIOS from Git"
+ git clone http://review.coreboot.org/p/seabios.git seabios
+
+fetch: seabios
+ifeq ($(TAG-y),)
+ echo "Error: The specified tag is invalid"
+ifeq ($(CONFIG_SEABIOS_REVISION),y)
+ echo "Error: There is no revision specified for SeaBIOS"
+ false
+endif
+ false
+endif
+ cd seabios; git show $(TAG-y) >/dev/null 2>&1 ; if [ $$? -ne 0 ] || \
+ [ "$(TAG-y)" = "origin/master" ]; then \
+ echo " Fetching new commits from the SeaBIOS git repo"; \
+ git fetch; fi
+
+checkout: fetch
+ echo " Checking out SeaBIOS revision $(TAG-y)"
+ 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)"
+ echo "CONFIG_COREBOOT=y" > seabios/.config
+ifeq ($(CONFIG_CONSOLE_SERIAL)$(CONFIG_DRIVERS_UART_8250IO),yy)
+ echo "CONFIG_DEBUG_SERIAL=y" >> seabios/.config
+ echo "CONFIG_DEBUG_SERIAL_PORT=$(CONFIG_TTYS0_BASE)" >> seabios/.config
+else
+ echo "# CONFIG_DEBUG_SERIAL is not set" >> seabios/.config
+endif
+ifneq ($(CONFIG_SEABIOS_THREAD_OPTIONROMS),y)
+ echo "# CONFIG_THREAD_OPTIONROMS is not set" >> seabios/.config
+endif
+ifeq ($(CONFIG_SEABIOS_VGA_COREBOOT),y)
+ echo "CONFIG_VGA_COREBOOT=y" >> seabios/.config
+ echo "CONFIG_BUILD_VGABIOS=y" >> seabios/.config
+endif
+ifneq ($(CONFIG_PAYLOAD_CONFIGFILE),)
+ifneq ("$(wildcard $(CONFIG_PAYLOAD_CONFIGFILE))","")
+ cat $(CONFIG_PAYLOAD_CONFIGFILE) >> seabios/.config
+else
+ echo "Error: File $(CONFIG_PAYLOAD_CONFIGFILE) does not exist"
+ false
+endif
+endif
+ # This shows how to force a previously set .config option *off*
+ #echo "# CONFIG_SMBIOS is not set" >> seabios/.config
+ $(MAKE) -C seabios olddefconfig OUT=out/
+
+build: config
+ echo " MAKE SeaBIOS $(TAG-y)"
+ $(MAKE) -C seabios OUT=out/
+
+clean:
+ test -d seabios/out && rm -rf seabios/out || exit 0
+
+distclean:
+ rm -rf seabios
+
+.PHONY: checkout config build clean distclean clone fetch