3f1abb84e8
Previously the SeaBIOS directory would never get updated after the initial clone because the tag would always match. This can be shown by noticing that the text 'Fetching new commits from the SeaBIOS git repo' is never seen. This change will always try to pull the latest code if 'Master' is selected. Change-Id: I460e2fb0c6f683a0f85343d164880c2d9e6d95cc Signed-off-by: Martin Roth <martinroth@google.com> Reviewed-on: https://review.coreboot.org/13947 Tested-by: build bot (Jenkins) Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org> Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
65 lines
2 KiB
Makefile
65 lines
2 KiB
Makefile
TAG-$(CONFIG_SEABIOS_MASTER)=origin/master
|
|
TAG-$(CONFIG_SEABIOS_STABLE)=b3ef39f532db52bf17457ba931da758eeb38d6b4
|
|
|
|
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
|
|
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
|