diff options
-rwxr-xr-x | resources/scripts/modify/u-boot/configs | 122 |
1 files changed, 58 insertions, 64 deletions
diff --git a/resources/scripts/modify/u-boot/configs b/resources/scripts/modify/u-boot/configs index 60dfdd8f..9572a5b8 100755 --- a/resources/scripts/modify/u-boot/configs +++ b/resources/scripts/modify/u-boot/configs @@ -1,83 +1,77 @@ #!/usr/bin/env sh -# # helper script: modify U-Boot configs (run make menuconfig) # # Copyright (C) 2022 Alper Nebi Yasak <alpernebiyasak@gmail.com> # Copyright (C) 2022 Ferass El Hafidi <vitali64pmemail@protonmail.com> +# Copyright (C) 2023 Leah Rowe <info@minifree.org> # -# 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. +# 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. # -# You should have received a copy of the GNU General Public License -# along with this program. If not, see <http://www.gnu.org/licenses/>. +# 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. # - -# This script assumes that the working directory is the root -# of git or release archive +# 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 -printf "Modifying U-Boot configs\n" +main() +{ + printf "Modifying U-Boot configs\n" + + if [ $# -gt 0 ]; then + for board in "${@}"; do + modifyconf "${board}" + done + else + for board in resources/u-boot/*; do + if [ ! -d "${board}" ]; then + continue + fi + modifyconf "${board##*/}" + done + fi +} # Build ROM images for supported boards -modifyconf() { +modifyconf() +{ board="$1" - if [ -f "resources/u-boot/${board}/board.cfg" ]; then - ubtree="undefined" - . "resources/u-boot/${board}/board.cfg" # source - if [ "${ubtree}" = "undefined" ]; then - return 0 - fi - if [ ! -d "u-boot/${ubtree}" ]; then - ./download u-boot ${ubtree} - fi - for ubcfg in resources/u-boot/${board}/config/*; do - if [ ! -f ${ubcfg} ]; then - continue - fi - ( - cd u-boot/${ubtree}/ - rm -f .config* - make distclean - ) - mv $ubcfg u-boot/${ubtree}/.config - ( - cd u-boot/${ubtree}/ - make menuconfig - ) - mv u-boot/${ubtree}/.config $ubcfg - rm -f u-boot/${ubtree}/.config* - ( - cd u-boot/${ubtree}/ - make distclean - ) - done - else - printf "\nmodify/config/u-boot: no board.cfg for: %s\n" "${board}" - fi -} + if [ ! -f "resources/u-boot/${board}/board.cfg" ]; then + printf "\nmodify/config/u-boot: no board.cfg for: %s\n" \ + "${board}" + return 0 + fi -if [ $# -gt 0 ]; then - for board in "${@}"; do - modifyconf "${board}" - done -else - for board in resources/u-boot/*; do - if [ ! -d "${board}" ]; then - continue - fi - modifyconf "${board##*/}" - done -fi + ubtree="undefined" + . "resources/u-boot/${board}/board.cfg" # source + + if [ "${ubtree}" = "undefined" ]; then + return 0 + fi + ubdir="u-boot/${ubtree}" -printf "\n\n" + if [ ! -d "${ubdir}" ]; then + ./download u-boot ${ubtree} + fi + + for ubcfg in resources/u-boot/${board}/config/*; do + if [ ! -f ${ubcfg} ]; then + continue + fi + make distclean -BC "${ubdir}" + mv "${ubcfg}" "${ubdir}/.config" + make menuconfig -BC "${ubdir}" + mv "${ubdir}/.config" "${ubcfg}" + make distclean -BC "${ubdir}" + done +} +main $@ |