summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLeah Rowe <leah@libreboot.org>2024-06-27 16:51:48 +0100
committerLeah Rowe <leah@libreboot.org>2024-06-27 16:51:48 +0100
commit136787185deec64ef8a08a63bfc433bb5b210203 (patch)
tree868b217144a2942bf3b6164a275e725d8226e03f
parentc59fbb3651b18da63e6521fb902567e660a8e8a1 (diff)
trees: don't hardcode use of mkpayload_grub
instead, make it a helper function, defined in target.cfg this means that we can also do the same with other projects in the future, and it is expected that we will have to. these helper functions are used in cases where we want additional actions to be performed. actually, the helper could be anything. for example, you could write: mkhelper="./build foo bar" and it would do that (at the point of execution, PWD is the root directory of the build system) Signed-off-by: Leah Rowe <leah@libreboot.org>
-rw-r--r--config/grub/default/target.cfg1
-rw-r--r--config/grub/nvme/target.cfg1
-rw-r--r--config/grub/xhci/target.cfg1
-rwxr-xr-xscript/trees7
4 files changed, 7 insertions, 3 deletions
diff --git a/config/grub/default/target.cfg b/config/grub/default/target.cfg
index df558a94..a5936693 100644
--- a/config/grub/default/target.cfg
+++ b/config/grub/default/target.cfg
@@ -4,3 +4,4 @@ bootstrapargs="--gnulib-srcdir=gnulib/ --no-git"
autoconfargs="--with-platform=coreboot --disable-werror"
makeargs="FS_PAYLOAD_MODULES=\"\""
btype="autohell"
+mkhelper="mkpayload_grub"
diff --git a/config/grub/nvme/target.cfg b/config/grub/nvme/target.cfg
index 2f84f110..f5e95daf 100644
--- a/config/grub/nvme/target.cfg
+++ b/config/grub/nvme/target.cfg
@@ -4,3 +4,4 @@ bootstrapargs="--gnulib-srcdir=gnulib/ --no-git"
autoconfargs="--with-platform=coreboot --disable-werror"
makeargs="FS_PAYLOAD_MODULES=\"\""
btype="autohell"
+mkhelper="mkpayload_grub"
diff --git a/config/grub/xhci/target.cfg b/config/grub/xhci/target.cfg
index 2c6d6080..3cdcb5d8 100644
--- a/config/grub/xhci/target.cfg
+++ b/config/grub/xhci/target.cfg
@@ -4,3 +4,4 @@ bootstrapargs="--gnulib-srcdir=gnulib/ --no-git"
autoconfargs="--with-platform=coreboot --disable-werror"
makeargs="FS_PAYLOAD_MODULES=\"\""
btype="autohell"
+mkhelper="mkpayload_grub"
diff --git a/script/trees b/script/trees
index 3da74fe9..781e4055 100755
--- a/script/trees
+++ b/script/trees
@@ -12,7 +12,7 @@ set -u -e
cbmakeargs="UPDATED_SUBMODULES=1 CPUS=$XBMK_THREADS"
eval `setvars "" xarch cdir config config_name xlang mode makeargs \
elfdir project target target_dir targets tree _f target1 bootstrapargs \
- autoconfargs cmakedir listfile autogenargs xtree btype`
+ autoconfargs cmakedir listfile autogenargs xtree btype mkhelper`
main()
{
@@ -152,7 +152,7 @@ handle_src_tree()
load_project_config()
{
eval `setvars "" xarch xlang tree bootstrapargs autoconfargs xtree \
- tree_depend makeargs btype`
+ tree_depend makeargs btype mkhelper`
[ -f "$1/target.cfg" ] || btype="auto"
# target.cfg optional on single-tree so return if missing.
@@ -246,7 +246,8 @@ run_make_command()
make -C "$cdir" $mode -j$XBMK_THREADS $makeargs || $err "$cdir mk$mode"
- [ "$project" = "grub" ] && [ -z "$mode" ] && mkpayload_grub
+ [ -z "$mkhelper" ] || [ -n "$mode" ] || $mkhelper || \
+ $err "$cdir: helper command failed: $mkhelper" # eg mkpayload_grub
[ "$mode" != "clean" ] && return 0
make -C "$cdir" distclean 2>/dev/null || :