clean up a few semicolons in the build system

several code lines were condensed together, which
make them less readable. make the code more readable
by having separate commands on separate lines.

i previously did this during my manic build system
audits of 2023 and 2024; condensing lines like this
is overly pedantic and serves no real purpose.

Signed-off-by: Leah Rowe <leah@libreboot.org>
25.04_branch
Leah Rowe 2025-04-11 17:15:00 +01:00
parent 7b7642dc90
commit 6e6b54cc24
6 changed files with 75 additions and 47 deletions

8
build
View File

@ -34,8 +34,12 @@ main()
case "${spath#script/}" in
version) printf "%s\nWebsite: %s\n" "$relname" "$projectsite" ;;
inject) shift 1; xbmk_inject "$@" ;;
release) shift 1; mkrelease "$@" ;;
release)
shift 1
mkrelease "$@" ;;
xbmk_inject)
shift 1
xbmk_inject "$@" ;;
roms)
if [ $# -gt 1 ] && [ "$2" = "serprog" ]; then
mk -b stm32-vserprog pico-serprog

View File

@ -13,7 +13,8 @@ fetch_targets()
printf "Creating %s tree %s\n" "$project" "$tree"
git_prep "$loc" "$loc" "$PWD/$configdir/$tree/patches" \
"src/$project/$tree" u; nuke "$project/$tree" "$project/$tree"
"src/$project/$tree" u
nuke "$project/$tree" "$project/$tree"
}
fetch_project()
@ -47,9 +48,11 @@ clone_project()
git_prep()
{
_patchdir="$3"; _loc="$4" # $1 and $2 are gitrepo and gitrepo_backup
_patchdir="$3"
_loc="$4" # $1 and $2 are gitrepo and gitrepo_backup
chkvars rev; tmpclone "$1" "$2" "$tmpgit" "$rev" "$_patchdir"
chkvars rev
tmpclone "$1" "$2" "$tmpgit" "$rev" "$_patchdir"
if singletree "$project" || [ $# -gt 4 ]; then
prep_submodules "$_loc"
fi
@ -67,7 +70,7 @@ prep_submodules()
{
[ -f "$mdir/module.list" ] && while read -r msrcdir; do
fetch_submodule "$msrcdir"
done < "$mdir/module.list"; return 0
done < "$mdir/module.list"; :
}
fetch_submodule()
@ -125,10 +128,11 @@ tmpclone()
git_am_patches()
{
for p in "$2/"*; do
[ -L "$p" ] && continue; [ -e "$p" ] || continue
[ -L "$p" ] && continue
[ -e "$p" ] || continue
[ -d "$p" ] && git_am_patches "$1" "$p" && continue
[ ! -f "$p" ] || git -C "$1" am "$p" || $err "$1 $2: !am $p"
done; return 0
done; :
}
link_crossgcc()
@ -136,7 +140,7 @@ link_crossgcc()
(
x_ cd "$tmpgit/util" && x_ rm -Rf crossgcc
ln -s "../../$xtree/util/crossgcc" crossgcc || $err "$1: !xgcc link"
) || $err "$1: !xgcc link"
) || $err "$1: !xgcc link"; :
}
move_repo()
@ -152,5 +156,5 @@ nuke()
e "config/${1%/}/nuke.list" f missing || while read -r nukefile; do
rmf="src/${2%/}/$nukefile" && [ -L "$rmf" ] && continue
e "$rmf" e missing || rm -Rf "$rmf" || $err "!rm $rmf, ${2%/}"
done < "config/${1%/}/nuke.list"; return 0
done < "config/${1%/}/nuke.list"; :
}

View File

@ -29,7 +29,8 @@ xbmk_inject()
err="fail_inject"
remkdir "$tmpromdel"
set +u +e; [ $# -lt 1 ] && $err "No options specified. - $dontflash"
set +u +e
[ $# -lt 1 ] && $err "No options specified. - $dontflash"
eval "`setvars "" new_mac xchanged`"
# randomise the MAC address by default

View File

@ -17,7 +17,8 @@ err="err_"
err_()
{
printf "ERROR %s: %s\n" "$0" "$1" 1>&2; exit 1
printf "ERROR %s: %s\n" "$0" "$1" 1>&2
exit 1
}
setvars()
@ -25,14 +26,15 @@ setvars()
_setvars="" && [ $# -lt 2 ] && $err "setvars: too few arguments"
val="$1" && shift 1 && for var in "$@"; do
_setvars="$var=\"$val\"; $_setvars"
done; printf "%s\n" "${_setvars% }"
done
printf "%s\n" "${_setvars% }"
}
chkvars()
{
for var in "$@"; do
eval "[ -n \"\${$var+x}\" ] || \$err \"$var unset\""
eval "[ -n \"\$$var\" ] || \$err \"$var unset\""
done; return 0
done; :
}
eval "`setvars "" _nogit board reinstall versiondate projectsite projectname \
@ -40,7 +42,8 @@ eval "`setvars "" _nogit board reinstall versiondate projectsite projectname \
for fv in projectname projectsite version versiondate; do
eval "[ ! -f \"$fv\" ] || read -r $fv < \"$fv\" || :"
done; chkvars projectname projectsite
done
chkvars projectname projectsite
setcfg()
{
@ -57,7 +60,8 @@ e()
estr="[ -$es_t \"\$1\" ] || return 1"
[ $# -gt 2 ] && estr="[ -$es_t \"\$1\" ] && return 1" && es2="missing"
eval "$estr"; printf "%s %s\n" "$1" "$es2" 1>&2
eval "$estr"
printf "%s %s\n" "$1" "$es2" 1>&2
}
install_packages()
@ -140,7 +144,7 @@ expr "X$XBMK_THREADS" : "X-\{0,1\}[0123456789][0123456789]*$" \
x_() {
[ $# -lt 1 ] || "$@" || \
$err "Unhandled non-zero exit: $(echo "$@")"; return 0
$err "Unhandled non-zero exit: $(echo "$@")"; :
}
[ -e ".git" ] || [ -f "version" ] || printf "unknown\n" > version || \
@ -155,7 +159,8 @@ versiondate_="$versiondate"
[ ! -e ".git" ] || versiondate="$(git show --no-patch --no-notes \
--pretty='%ct' HEAD)" || versiondate="$versiondate_"
for p in projectname version versiondate projectsite; do
chkvars "$p"; eval "x_ printf \"%s\\n\" \"\$$p\" > $p"
chkvars "$p"
eval "x_ printf \"%s\\n\" \"\$$p\" > $p"
done
relname="$projectname-$version"
export LOCALVERSION="-$projectname-${version%%-*}"
@ -165,7 +170,7 @@ check_defconfig()
[ -d "$1" ] || $err "Target '$1' not defined."
for x in "$1"/config/*; do
[ -f "$x" ] && printf "%s\n" "$x" && return 1
done; return 0
done; :
}
remkdir()
@ -180,7 +185,8 @@ mkrom_tarball()
printf "%s\n" "$versiondate" > "$1/versiondate" || $err "$1 !vdate"
printf "%s\n" "$projectname" > "$1/projectname" || $err "$1 !pname"
mktarball "$1" "${1%/*}/${relname}_${1##*/}.tar.xz"; x_ rm -Rf "$1"; :
mktarball "$1" "${1%/*}/${relname}_${1##*/}.tar.xz"
x_ rm -Rf "$1"
}
mktarball()
@ -248,7 +254,8 @@ download()
$err "$1 $2 $3 $4: Unsupported dlop type: '$_dlop'"
fi
vendor_checksum "$4" "$cached" || dl_fail="n"
done; [ "$dl_fail" = "y" ] && $err "$1 $2 $3 $4: not downloaded"
done
[ "$dl_fail" = "y" ] && $err "$1 $2 $3 $4: not downloaded"
[ "$cached" = "$3" ] || cp "$cached" "$3" || $err "!d cp $cached $3"; :
}

View File

@ -28,11 +28,12 @@ mkserprog()
&& x_ cmake --build "$sersrc/build"
[ "$1" = "stm32" ] && x_ make -C "$sersrc" \
libopencm3-just-make BOARD=$sertarget && x_ make -C \
"$sersrc" BOARD=$sertarget; x_ mkdir -p "bin/serprog_$1"
"$sersrc" BOARD=$sertarget
x_ mkdir -p "bin/serprog_$1"
x_ mv "$serx" "bin/serprog_$1/serprog_$sertarget.${serx##*.}"
done < "$TMPDIR/ser"
[ "$XBMK_RELEASE" = "y" ] && mkrom_tarball "bin/serprog_$1"; return 0
[ "$XBMK_RELEASE" = "y" ] && mkrom_tarball "bin/serprog_$1"; :
}
mkpicotool()
@ -69,7 +70,7 @@ mkpayload_grub()
--install-modules="$grub_install_modules" \
"/boot/grub/grub_default.cfg=${srcdir}/.config" \
"/boot/grub/grub.cfg=$grubdata/memdisk.cfg" || \
$err "$tree: cannot build grub.elf"; return 0
$err "$tree: cannot build grub.elf"; :
}
mkvendorfiles()
@ -77,7 +78,7 @@ mkvendorfiles()
[ -z "$mode" ] && $dry cook_coreboot_config
check_coreboot_utils "$tree"
printf "%s\n" "${version%%-*}" > "$srcdir/.coreboot-version" || \
$err "!mk $srcdir .coreboot-version"
$err "!mk $srcdir .coreboot-version"; :
}
cook_coreboot_config()
@ -106,8 +107,8 @@ check_coreboot_utils()
x_ cp "$utilsrcdir/rmodtool" "$utilelfdir"
elif [ -n "$mode" ]; then
x_ rm -Rf "$utilelfdir"
fi; continue
done; return 0
fi; :
done; :
}
mkcorebootbin()
@ -175,7 +176,8 @@ add_seabios()
cbfs "$tmprom" "$_seabioself" "$_seaname"
x_ "$cbfstool" "$tmprom" add-int -i 3000 -n etc/ps2-keyboard-spinup
_z="2"; [ "$initmode" = "vgarom" ] && _z="0"
_z="2"
[ "$initmode" = "vgarom" ] && _z="0"
x_ "$cbfstool" "$tmprom" add-int -i $_z -n etc/pci-optionrom-exec
x_ "$cbfstool" "$tmprom" add-int -i 0 -n etc/optionroms-checksum
[ "$initmode" = "libgfxinit" ] && \

View File

@ -15,13 +15,17 @@ eval "`setvars "" xarch srcdir premake gnatdir xlang mode makeargs elfdir cmd \
project target target_dir targets xtree _f release bootstrapargs mkhelper \
autoconfargs listfile autogenargs btype tree rev tree_depend build_depend \
defconfig postmake mkhelpercfg dry dest_dir mdir cleanargs gccver gccfull \
gnatver gnatfull gccdir cmakedir`"; badhash="n"
gnatver gnatfull gccdir cmakedir`"
# ./mk -f will set this to "n", thus
# disabling the use of make commands
do_make="y"
mode="all" # make all
# badhash changes to "y" when project
# files change, e.g. config files, patches
badhash="n"
flags="-m/-u/-b/-c/-x/-f/-s/-l/-n/-d"
main()
@ -82,7 +86,8 @@ main()
x_ touch "$mkhelpercfg"
fi
targets="$*"; cmd="build_targets $targets"
targets="$*"
cmd="build_targets $targets"
singletree "$project" && cmd="build_project"
remkdir "${tmpgit%/*}"
@ -96,7 +101,7 @@ build_project()
[ "$mode" = "distclean" ] && mode="clean"
run_make_command || return 0
[ -n "$mode" ] || $dry copy_elf; return 0
[ -n "$mode" ] || $dry copy_elf; :
}
build_targets()
@ -113,7 +118,7 @@ build_targets()
printf "'make %s', '%s', '%s'\n" "$mode" "$project" "$target"
x_ handle_defconfig
[ -n "$mode" ] || [ -z "$postmake" ] || $postmake || \
$err "$project/$target: !postmake: $postmake"; continue
$err "$project/$target: !postmake: $postmake"; :
done; return 0
}
@ -125,7 +130,8 @@ handle_defconfig()
configure_project "$target_dir" || return 0
x_ mkdir -p "$elfdir/$target"
chkvars tree; srcdir="src/$project/$tree"
chkvars tree
srcdir="src/$project/$tree"
if [ "$mode" = "distclean" ] || [ "$mode" = "crossgcc-clean" ]; then
[ -d "$srcdir" ] || return 0
@ -139,7 +145,7 @@ handle_defconfig()
[ -n "$mode" ] || check_defconfig || continue
handle_makefile
[ -n "$mode" ] || $dry copy_elf
done; return 0
done; :
}
configure_project()
@ -190,8 +196,8 @@ build_dependencies()
[ -z "$bd_p" ] && $dry $err "$project/$tree: !bd '$bd'"
[ "${bd##*/}" = "$bd" ] && bd_t=""
[ -z "$bd_p" ] || $dry ./mk -b $bd_p $bd_t \
|| $err "!mk $project/$tree $bd_p/$bd_t"; continue
done; return 0
|| $err "!mk $project/$tree $bd_p/$bd_t"; :
done; :
}
check_project_hashes()
@ -202,7 +208,8 @@ check_project_hashes()
read -r old_pjhash < "$XBMK_CACHE/hash/$project$tree"
x_ rm -f "$TMPDIR/project.list" "$TMPDIR/project.hash" \
"$TMPDIR/project.tmp"; x_ touch "$TMPDIR/project.tmp"
"$TMPDIR/project.tmp"
x_ touch "$TMPDIR/project.tmp"
x_ touch "$TMPDIR/project.hash"
for rmchk in "$datadir" "$configdir/$tree" "$mdir"; do
@ -258,7 +265,7 @@ check_cross_compiler()
# we only want to mess with hostcc to build xgcc
rm -f "$XBMK_CACHE/gnupath/"* || \
$err "Cannot clear gnupath/"; :
done; return 0
done; :
}
# fix mismatching gcc/gnat versions on debian trixie/sid. as of december 2024,
@ -297,7 +304,8 @@ check_gnu_path()
rm -f "$XBMK_CACHE/gnupath/"* || $err "Cannot clear gnupath/"
cd "$XBMK_CACHE/gnupath" || $err "Can't cd to gnupath/"
for _gnubin in "$_gnudir/$2"*"-$_gnuver"; do
[ -e "$_gnubin" ] || continue; _gnuutil="${_gnubin##*/}"
[ -e "$_gnubin" ] || continue
_gnuutil="${_gnubin##*/}"
x_ ln -s "$_gnubin" "${_gnuutil%"-$_gnuver"}"
done
) || $err "Cannot create $2-$_gnuver link in $_gnudir"; :
@ -326,7 +334,7 @@ elfcheck()
# TODO: very hacky check. do it properly (based on build.list)
for elftest in "$dest_dir"/*; do
[ -e "$elftest" ] && e "$elftest" f && return 1
done; return 0
done; :
}
handle_makefile()
@ -350,8 +358,9 @@ handle_makefile()
run_make_command()
{
[ -z "$premake" ] || [ -n "$mode" ] || $premake || $err "!$premake"
$dry check_cmake "$srcdir" && [ -z "$mode" ] && $dry check_autoconf \
"$srcdir"; $dry check_makefile "$srcdir" || return 1
$dry check_cmake "$srcdir" && [ -z "$mode" ] && \
$dry check_autoconf "$srcdir"
$dry check_makefile "$srcdir" || return 1
$dry make -C "$srcdir" $mode -j$XBMK_THREADS $makeargs || $err "!$mode"
[ -z "$mkhelper" ] || [ -n "$mode" ] || $mkhelper || $err "!$mkhelper"
@ -366,7 +375,7 @@ check_cmake()
"$1/$cmakedir" || $dry check_makefile "$1" || $err \
"$1: !cmk $cmakedir"
[ -z "$cmakedir" ] || $dry check_makefile "$1" || \
$err "check_cmake $1: can't generate Makefile"; return 0
$err "check_cmake $1: can't generate Makefile"; :
}
check_autoconf()
@ -375,21 +384,22 @@ check_autoconf()
cd "$1" || $err "!cd $1"
[ -f "bootstrap" ] && x_ ./bootstrap $bootstrapargs
[ -f "autogen.sh" ] && x_ ./autogen.sh $autogenargs
[ -f "configure" ] && x_ ./configure $autoconfargs; return 0
) || $err "can't bootstrap project: $1"
[ -f "configure" ] && x_ ./configure $autoconfargs; :
) || $err "can't bootstrap project: $1"; :
}
check_makefile()
{
[ -f "$1/Makefile" ] || [ -f "$1/makefile" ] || \
[ -f "$1/GNUmakefile" ] || return 1; return 0
[ -f "$1/GNUmakefile" ] || return 1; :
}
copy_elf()
{
[ -f "$listfile" ] && x_ mkdir -p "$dest_dir" && while read -r f; do
[ -f "$srcdir/$f" ] && x_ cp "$srcdir/$f" "$dest_dir"
done < "$listfile"; x_ make clean -C "$srcdir" $cleanargs
done < "$listfile"
x_ make clean -C "$srcdir" $cleanargs
}
main "$@" || exit 0