summaryrefslogtreecommitdiff
path: root/payloads/external/SeaBIOS/Makefile
diff options
context:
space:
mode:
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