summaryrefslogtreecommitdiff
path: root/payloads/external/Yabits/Makefile
diff options
context:
space:
mode:
authorMartin Roth <martin@coreboot.org>2018-09-13 04:06:39 -0600
committerPhilipp Deppenwiese <zaolin.daisuki@gmail.com>2018-09-16 13:10:17 +0000
commitf2c3d8076e6ed0d8f1e2bc83d61f1930ec9d1e18 (patch)
tree5157f22949a10253e741f617933089668fc84028 /payloads/external/Yabits/Makefile
parentd91b5cf5c94c35a23ace9938c5b406e408de8632 (diff)
payloads/external: Add yabits payload
Yabits (Yet another UEFI bootloader) is designed to be a slim and quick alternative to Tianocore. It is still under heavy development. https://web.archive.org/web/https://yabits.github.io/ Change-Id: I132970e952c605c73cfe33dc47f20170ae8aa899 Signed-off-by: Martin Roth <martin@coreboot.org> Reviewed-on: https://review.coreboot.org/28590 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Patrick Georgi <pgeorgi@google.com> Reviewed-by: Marc Jones <marc@marcjonesconsulting.com>
Diffstat (limited to 'payloads/external/Yabits/Makefile')
-rw-r--r--payloads/external/Yabits/Makefile69
1 files changed, 69 insertions, 0 deletions
diff --git a/payloads/external/Yabits/Makefile b/payloads/external/Yabits/Makefile
new file mode 100644
index 0000000000..ec3c9c5767
--- /dev/null
+++ b/payloads/external/Yabits/Makefile
@@ -0,0 +1,69 @@
+##
+## This file is part of the coreboot project.
+##
+## Copyright (C) 2016 Google Inc.
+##
+## This program is free software; you can redistribute it and/or modify
+## it under the terms of the GNU General Public License as published by
+## the Free Software Foundation; version 2 of the License.
+##
+## This program is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+## GNU General Public License for more details.
+##
+
+TAG-$(CONFIG_YABITS_MASTER)=origin/master
+NAME-$(CONFIG_YABITS_MASTER)=Master
+TAG-$(CONFIG_YABITS_STABLE)=d25abb067431dee9af9f8a874a209730ab7f0e91
+NAME-$(CONFIG_YABITS_STABLE)=Stable
+TAG-$(CONFIG_YABITS_REVISION)=$(CONFIG_YABITS_REVISION_ID)
+
+project_name=Yabits
+project_dir=$(CURDIR)/uefi
+project_git_repo=https://github.com/yabits/uefi.git
+LIBCONFIG_PATH="../../../libpayload"
+
+all: build
+
+$(project_dir):
+ echo " Cloning $(project_name) from Git"
+ git clone $(project_git_repo) $(project_dir)
+
+fetch: $(project_dir)
+ifeq ($(TAG-y),)
+ echo "Error: The specified tag is invalid"
+ifeq ($(CONFIG_YABITS_REVISION),y)
+ echo "Error: There is no revision specified for $(project_name)"
+ false
+endif
+ false
+endif
+ -cd $(project_dir); git show $(TAG-y) >/dev/null 2>&1 ; \
+ if [ $$? -ne 0 ] || [ "$(TAG-y)" = "origin/master" ]; then \
+ echo " Fetching new commits from the $(project_name) git repo"; \
+ git fetch; fi
+
+checkout: fetch
+ echo " Checking out $(project_name) revision $(NAME-y) ($(TAG-y))"
+ cd $(project_dir); \
+ git checkout master; \
+ git branch -D coreboot 2>/dev/null; \
+ git checkout -b coreboot $(TAG-y)
+
+build: checkout
+ echo " MAKE $(project_name) $(NAME-y)"
+ $(if $(wildcard uefi/.xcompile),,$(shell bash ../../../util/xcompile/xcompile > uefi/.xcompile))
+ $(MAKE) -C $(project_dir) defconfig LIBCONFIG_PATH=$(LIBCONFIG_PATH) XGCC=$(XGCCPATH)
+ $(MAKE) -C $(project_dir) all LIBCONFIG_PATH=$(LIBCONFIG_PATH) XGCC=$(XGCCPATH)
+
+clean:
+ test -d $(project_dir) && $(MAKE) -C $(project_dir) clean LIBCONFIG_PATH=$(LIBCONFIG_PATH) XGCC=$(XGCCPATH) || exit 0
+
+distclean:
+ rm -rf $(project_dir)
+
+print-repo-info:
+ echo "$(project_git_repo) $(project_dir)"
+
+.PHONY: all build checkout clean distclean fetch print-repo-info