mirror of
https://codeberg.org/libreboot/lbmk.git
synced 2026-03-28 06:59:03 +02:00
This results in much cleaner copyright and license declarations. SPDX headers are legally recognised and make auditing easier. Also, remove descriptions of each script, from each script. Libreboot documentation at docs/maintain/ describes them. Signed-off-by: Leah Rowe <leah@libreboot.org>
65 lines
1.2 KiB
Bash
Executable File
65 lines
1.2 KiB
Bash
Executable File
#!/usr/bin/env sh
|
|
# SPDX-License-Identifier: GPL-3.0-or-later
|
|
# SPDX-FileCopyrightText: 2023 Leah Rowe <info@minifree.org>
|
|
|
|
[ "x${DEBUG+set}" = 'xset' ] && set -v
|
|
set -u -e
|
|
|
|
. "include/err.sh"
|
|
|
|
mode=""
|
|
project=""
|
|
|
|
main()
|
|
{
|
|
while getopts b:c: option
|
|
do
|
|
case "${1}" in
|
|
-b)
|
|
shift ;;
|
|
-c)
|
|
mode="distclean"
|
|
shift ;;
|
|
*)
|
|
err "Invalid option" ;;
|
|
esac
|
|
project="${OPTARG}"
|
|
shift
|
|
done
|
|
|
|
[ -z "${project}" ] && err "project name not specified"
|
|
|
|
handle_dependencies
|
|
run_make_command
|
|
}
|
|
|
|
handle_dependencies()
|
|
{
|
|
[ -d "${project}" ] || ./update project repo "${project%/*}" || \
|
|
err "handle_dependencies: can't fetch ${project%/*}"
|
|
[ -d "${project}" ] || \
|
|
err "handle_dependencies: ${project%/*} not downloaded"
|
|
|
|
if [ "${project}" = "uefitool" ]; then
|
|
(
|
|
cd uefitool || err "handle_dependencies: !cd uefitool"
|
|
cmake UEFIExtract/ || [ -f Makefile ] || \
|
|
err "handle_dependencies: !cmake UEFIExtract/"
|
|
)
|
|
fi
|
|
}
|
|
|
|
run_make_command()
|
|
{
|
|
if [ -z "${mode}" ]; then
|
|
make -C "${project}" -j$(nproc) || \
|
|
err "run_make_command: !make -C ${project}"
|
|
else
|
|
make -C "${project}" clean || \
|
|
err "run_make_command: ${project}: make-clean failed"
|
|
make -C "${project}" distclean || :
|
|
fi
|
|
}
|
|
|
|
main $@
|