diff options
Diffstat (limited to 'script/build/grub/utils')
-rwxr-xr-x | script/build/grub/utils | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/script/build/grub/utils b/script/build/grub/utils new file mode 100755 index 00000000..f0449ed7 --- /dev/null +++ b/script/build/grub/utils @@ -0,0 +1,52 @@ +#!/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 + +. "include/err.sh" + +main() +{ + printf "Building GRUB\n" + [ -d "grub/" ] || ./fetch grub || err "cannot fetch grub" + build_grub +} + +build_grub() +{ + ( + cd grub/ || \ + err "build_grub: cd" + [ ! -d Makefile ] || make distclean || \ + err "build_grub: make-distclean" + ./bootstrap --gnulib-srcdir=gnulib/ --no-git || \ + err "build_grub: gnulib bootstrap" + ./autogen.sh || \ + err "build_grub: autogen.sh" + ./configure --with-platform=coreboot || \ + err "build_grub: autoconf" + make -j$(nproc) || \ + err "build_grub: make" + ) +} + +main $@ |