From c83d1a8dc4efea50aa17af930ec7b8289dad2390 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Sun, 20 Aug 2023 16:36:49 +0100 Subject: 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 --- resources/scripts/build/grub/utils | 61 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100755 resources/scripts/build/grub/utils (limited to 'resources/scripts/build/grub/utils') 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 +# Copyright (C) 2015, 2016 Klemens Nanni +# +# 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 . +# + +[ "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 $@ -- cgit v1.2.1