diff options
author | Leah Rowe <leah@libreboot.org> | 2023-05-27 10:52:37 +0100 |
---|---|---|
committer | Leah Rowe <leah@libreboot.org> | 2023-05-27 10:54:50 +0100 |
commit | 092600d163e771d31da07d88a03fe669aa4708f1 (patch) | |
tree | 6c74e4fbec6892701bb55f89560b36dbd125580d /build | |
parent | 6344b196007a2bf955766f47da5f1fd36fbc19db (diff) |
unify these scripts: build, modify and update
unify them, by turning them into symlinks pointing
to a generic script named lbmk
the script named lbmk is a fork of the script
named "build", which just checks argument 0 and adapts
accordingly
all of these core scripts had the exact same overall
logic, and they are thus compatible
Signed-off-by: Leah Rowe <leah@libreboot.org>
Diffstat (limited to 'build')
l---------[-rwxr-xr-x] | build | 119 |
1 files changed, 1 insertions, 118 deletions
@@ -1,118 +1 @@ -#!/usr/bin/env bash - -# generic build script, for building components (all of them) -# -# Copyright (C) 2014,2015,2020,2021,2023 Leah Rowe <info@minifree.org> -# Copyright (C) 2015 Patrick "P. J." McDermott <pj@pehjota.net> -# Copyright (C) 2015, 2016 Klemens Nanni <contact@autoboot.org> -# Copyright (C) 2022, Caleb La Grange <thonkpeasant@protonmail.com> -# -# 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 - -projectname="$(cat projectname)" -build=./resources/scripts/build -mode="" -option="" - -main() -{ - if [ $# -lt 1 ]; then - die "Wrong argument count. Run: ./build help" - fi - mode="${1}" - - ./.gitcheck - - if [ "${mode}" != "dependencies" ]; then - ./resources/scripts/misc/versioncheck - fi - if [ "${mode}" = help ]; then - usage - exit 0 - elif [ $# -lt 2 ]; then - usage - exit 0 - fi - - option="${2}" - shift 2 - - case "${option}" in - list) - printf "Options for mode '%s':\n\n" ${mode} - listoptions "${mode}" - ;; - all) - for option in $(listoptions "${mode}"); do - "${build}/${mode}/${option}" $@ - done - ;; - *) - if [ ! -d "${build}/${mode}" ]; then - usage - die "Invalid mode '${mode}'. Run: ./build help" - elif [ ! -f "${build}/${mode}/${option}" ]; then - usage - printf "Invalid option for '%s'." ${mode} - die "Run: ./build ${mode} list'." - fi - "${build}/${mode}/${option}" $@ - esac - - ./.gitcheck clean -} - -# Takes exactly one mode as parameter -listoptions() -{ - for option in "${build}/${1}/"*; do - printf '%s\n' ${option##*/} - done -} - -usage() -{ - cat <<- EOF - USAGE: ./build <MODE> <OPTION> - - possible values for 'mode': - $(listmodes) - - Example: ./build module all - Example: ./build module flashrom [static] - Example: ./build roms withgrub - Example: ./build clean all - - Refer to ${projectname} documentation for more info. - EOF -} - -listmodes() -{ - for mode in "${build}"/*; do - printf '%s\n' ${mode##*/} - done -} - -die() -{ - printf 'Error: %s\n' ${@} 1>&2 - exit 1 -} - -main $@ +lbmk
\ No newline at end of file |