payloads/external: Add support for coreDOOM payload

coreDOOM is a port of DOOM to libpayload, based on the doomgeneric
source port. It renders the game to the coreboot linear framebuffer,
and loads WAD files from CBFS.

Tested with QEMU i440fx/q35 and a Dell Latitude E6400 using the
libgfxinit provided linear framebuffer.

Project page: https://github.com/nic3-14159/coreDOOM

Signed-off-by: Nicholas Chin <nic.c3.14@gmail.com>
Change-Id: Ice0403b003a4b2717afee585f28303c2f5abea5d
Reviewed-on: https://review.coreboot.org/c/coreboot/+/57222
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Paul Menzel <paulepanter@mailbox.org>
Reviewed-by: Martin L Roth <gaumless@tutanota.com>
This commit is contained in:
Nicholas Chin
2021-08-28 09:40:41 -06:00
committed by Martin L Roth
parent c217f31d0b
commit 8d885577ce
8 changed files with 101 additions and 0 deletions

34
payloads/external/coreDOOM/Makefile vendored Normal file
View File

@@ -0,0 +1,34 @@
## SPDX-License-Identifier: GPL-2.0-only
project_git_repo=https://github.com/nic3-14159/coreDOOM.git
project_dir=coredoom
unexport KCONFIG_AUTOHEADER
unexport KCONFIG_AUTOCONFIG
unexport KCONFIG_DEPENDENCIES
unexport KCONFIG_SPLITCONFIG
unexport KCONFIG_TRISTATE
unexport KCONFIG_NEGATIVES
all: coredoom
checkout:
test -d coredoom || \
git clone $(project_git_repo) $(project_dir)
cd $(project_dir) && \
git checkout libpayload_port
coredoom: libpayload
$(MAKE) -C $(project_dir)/doomgeneric
libpayload: checkout
cp libpayload-config ../../libpayload/.config && \
cd ../../libpayload && $(MAKE) olddefconfig && $(MAKE) && \
$(MAKE) DESTDIR=../external/coreDOOM/coredoom/doomgeneric install
clean:
test -d coredoom && $(MAKE) -C coredoom/doomgeneric clean || exit 0
distclean:
rm -rf coredoom
.PHONY: checkout coredoom clean distclean