summaryrefslogtreecommitdiff
path: root/include/lib.sh
diff options
context:
space:
mode:
authorLeah Rowe <leah@libreboot.org>2024-07-28 13:30:25 +0100
committerLeah Rowe <leah@libreboot.org>2024-07-28 13:35:31 +0100
commit59894ed555ecccf0346a7942e208171a21412d9b (patch)
tree46f4cc65d65a2c6240876ba724cee521a2fe2992 /include/lib.sh
parent7fa6052de036f81b54a93bf2f707f563205f176b (diff)
lib.sh: new function mk() to handle trees in bulk
single-tree projects cannot be handled in bulk, e.g. ./mk -f project1 project2 project3 that is still the case, from the shell, but internally it is now possible: mk -f project1 project2 project3 mk() is a function that simply handles the given flag, and all projects specified. it does not handle cases without argument, for example you cannot do: mk -f arguments must be provided. it can be used internally, to simplify cases where multiple single-tree projects must be handled, but *also* allows multi-tree projects to be specified, without being able to actually handle trees within that multi-tree project; so for example, you can only specify coreboot, and then it would run on every coreboot tree. Signed-off-by: Leah Rowe <leah@libreboot.org>
Diffstat (limited to 'include/lib.sh')
-rw-r--r--include/lib.sh8
1 files changed, 8 insertions, 0 deletions
diff --git a/include/lib.sh b/include/lib.sh
index 586ecde1..2c9cd0d4 100644
--- a/include/lib.sh
+++ b/include/lib.sh
@@ -212,3 +212,11 @@ cbfs()
lzma="-c lzma" && [ $# -gt 3 ] && lzma="-t raw"
x_ "$cbfstool" "$1" $ccmd -f "$2" -n "$3" $lzma
}
+
+mk()
+{
+ mk_flag="$1" || $err "No argument given"
+ shift 1 && for mk_arg in $@; do
+ ./mk $mk_flag $mk_arg || $err "./mk $mk_flag $mk_arg"; :
+ done; :
+}