diff options
author | Leah Rowe <leah@libreboot.org> | 2023-08-20 16:36:49 +0100 |
---|---|---|
committer | Leah Rowe <leah@libreboot.org> | 2023-08-20 16:40:11 +0100 |
commit | c83d1a8dc4efea50aa17af930ec7b8289dad2390 (patch) | |
tree | b009c990e513af0c47b45af3f75cf4bece8c5831 /resources/scripts/build/grub/utils | |
parent | 438bf2c9b113eab11439c9c65449e269e5b4b095 (diff) |
unify grub scripts under one directory
new commands are thus,
build grub payloads:
./build grub payload
(formerly ./build payload grub)
build grub utils:
./build grub utils
(formerly ./build module grub)
The scripts is build/module/ will mostly be
deleted. I say mostly, because some of them
are being moved instead.
The deleted ones will be ones that basically
just run "make" in the target directory. They
will be unified, in a follow-up patch.
Signed-off-by: Leah Rowe <leah@libreboot.org>
Diffstat (limited to 'resources/scripts/build/grub/utils')
-rwxr-xr-x | resources/scripts/build/grub/utils | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/resources/scripts/build/grub/utils b/resources/scripts/build/grub/utils new file mode 100755 index 00000000..edad6b2a --- /dev/null +++ b/resources/scripts/build/grub/utils @@ -0,0 +1,61 @@ +#!/usr/bin/env sh + +# helper script: builds GRUB2 source code +# +# Copyright (C) 2014, 2015, 2020, 2023 Leah Rowe <info@minifree.org> +# Copyright (C) 2015, 2016 Klemens Nanni <contact@autoboot.org> +# +# 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, either version 3 of the License, or +# (at your option) any later version. +# +# 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. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. +# + +[ "x${DEBUG+set}" = 'xset' ] && set -v +set -u -e + +main() +{ + printf "Building GRUB\n" + + if [ ! -d "grub/" ]; then + ./fetch grub || exit 1 + fi + + build_grub +} + +build_grub() +{ + ( + cd grub/ || err "cd" + + # clean up first + if [ -d Makefile ]; then + make distclean || err "make-distclean" + fi + + ./bootstrap --gnulib-srcdir=gnulib/ --no-git || err "bootstrap" + + # build + ./autogen.sh || err "autogen" + ./configure --with-platform=coreboot || err "configure" + make -j$(nproc) || err "make" + ) +} + +err() +{ + printf "%s: error: %s\n" $0 $1 + exit 1 +} + +main $@ |