diff options
| author | Leah Rowe <leah@libreboot.org> | 2025-04-11 17:15:00 +0100 | 
|---|---|---|
| committer | Leah Rowe <leah@libreboot.org> | 2025-04-11 17:15:00 +0100 | 
| commit | f98b9b0110770f5381055fbaa20610130131df62 (patch) | |
| tree | fc1b671d5c30671b7390f5311f3160ae02efb9b0 | |
| parent | 8ccb61cc718fac3e4f62be772a3540b5aba2098c (diff) | |
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>
| -rwxr-xr-x | build | 12 | ||||
| -rw-r--r-- | include/git.sh | 20 | ||||
| -rw-r--r-- | include/lib.sh | 27 | ||||
| -rw-r--r-- | include/mrc.sh | 4 | ||||
| -rw-r--r-- | include/rom.sh | 16 | ||||
| -rw-r--r-- | include/vendor.sh | 47 | ||||
| -rwxr-xr-x | script/trees | 48 | 
7 files changed, 110 insertions, 64 deletions
| @@ -35,9 +35,15 @@ main()  	case "${spath#script/}" in  	version) printf "%s\nWebsite: %s\n" "$relname" "$projectsite" ;; -	release) shift 1; mkrelease "$@" ;; -	inject) shift 1; vendor_inject "$@" ;; -	download) shift 1; vendor_download "$@" ;; +	release) +		shift 1 +		mkrelease "$@" ;; +	inject) +		shift 1 +		vendor_inject "$@" ;; +	download) +		shift 1 +		vendor_download "$@" ;;  	roms)  		if [ $# -gt 1 ] && [ "$2" = "serprog" ]; then  			mk -b stm32-vserprog pico-serprog diff --git a/include/git.sh b/include/git.sh index e5aa4861..1933a4ec 100644 --- a/include/git.sh +++ b/include/git.sh @@ -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"; :  } diff --git a/include/lib.sh b/include/lib.sh index b43d83f3..31c9fd02 100644 --- a/include/lib.sh +++ b/include/lib.sh @@ -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"; :  } diff --git a/include/mrc.sh b/include/mrc.sh index f5db2ff0..e08a0f0e 100644 --- a/include/mrc.sh +++ b/include/mrc.sh @@ -20,7 +20,7 @@ extract_mrc()  	"$cbfstool" "$appdir/"bios.bin extract -n mrc.bin \  	    -f "$_dest" -r RO_SECTION || $err "extract_mrc: !$cbfstool $_dest" -	[ -n "$CONFIG_REFCODE_BLOB_FILE" ] && extract_refcode; return 0 +	[ -n "$CONFIG_REFCODE_BLOB_FILE" ] && extract_refcode; :  }  extract_partition() @@ -57,5 +57,5 @@ extract_refcode()  	# enable the Intel GbE device, if told by offset MRC_refcode_gbe  	[ -z "$MRC_refcode_gbe" ] || dd if="config/ifd/hp820g2/1.bin" \  	    of="$_refdest" bs=1 seek=$MRC_refcode_gbe count=1 conv=notrunc || \ -	    $err "extract_refcode $_refdest: byte $MRC_refcode_gbe"; return 0 +	    $err "extract_refcode $_refdest: byte $MRC_refcode_gbe"; :  } diff --git a/include/rom.sh b/include/rom.sh index dde17b69..7102953f 100644 --- a/include/rom.sh +++ b/include/rom.sh @@ -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() @@ -79,7 +80,7 @@ mkvendorfiles()  	printf "%s\n" "${version%%-*}" > "$srcdir/.coreboot-version" || \  	    $err "!mk $srcdir .coreboot-version"  	[ -z "$mode" ] && [ "$target" != "$tree" ] && \ -	    x_ ./mk download "$target"; return 0 +	    x_ ./mk download "$target"; :  }  cook_coreboot_config() @@ -108,8 +109,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() @@ -177,7 +178,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" ] && \ diff --git a/include/vendor.sh b/include/vendor.sh index 018e734b..53fe5a27 100644 --- a/include/vendor.sh +++ b/include/vendor.sh @@ -38,8 +38,10 @@ eval "`setvars "" has_hashes EC_hash DL_hash DL_url_bkup MRC_refcode_gbe vcfg \  vendor_download()  { -	[ $# -gt 0 ] || $err "No argument given"; export PATH="$PATH:/sbin" -	board="$1"; readcfg && readkconfig && bootstrap && getfiles; : +	[ $# -gt 0 ] || $err "No argument given" +	export PATH="$PATH:/sbin" +	board="$1" +	readcfg && readkconfig && bootstrap && getfiles; :  }  readkconfig() @@ -66,9 +68,11 @@ readkconfig()  	    CONFIG_LENOVO_TBFW_BIN CONFIG_FSP_M_FILE CONFIG_FSP_S_FILE; do  		eval "[ \"\${$c}\" = \"/dev/null\" ] && continue"  		eval "[ -z \"\${$c}\" ] && continue" -		eval "`setcfg "$vfile"`"; return 0 +		eval "`setcfg "$vfile"`" +		return 0  	done -	printf "Vendor files not needed for: %s\n" "$board" 1>&2; return 1 +	printf "Vendor files not needed for: %s\n" "$board" 1>&2 +	return 1  }  bootstrap() @@ -78,7 +82,7 @@ bootstrap()  	[ -d "${kbc1126_ec_dump%/*}" ] && x_ make -C "$cbdir/util/kbc1126"  	[ -n "$MRC_refcode_cbtree" ] && \  	    cbfstoolref="elf/cbfstool/$MRC_refcode_cbtree/cbfstool" && \ -	    x_ ./mk -d coreboot "$MRC_refcode_cbtree"; return 0 +	    x_ ./mk -d coreboot "$MRC_refcode_cbtree"; :  }  getfiles() @@ -109,9 +113,14 @@ getfiles()  fetch()  { -	dl_type="$1"; dl="$2"; dl_bkup="$3"; dlsum="$4"; _dest="${5##*../}" - -	[ "$5" = "/dev/null" ] && return 0; _dl="$XBMK_CACHE/file/$dlsum" +	dl_type="$1" +	dl="$2" +	dl_bkup="$3" +	dlsum="$4" +	_dest="${5##*../}" + +	[ "$5" = "/dev/null" ] && return 0 +	_dl="$XBMK_CACHE/file/$dlsum"  	if [ "$dl_type" = "fspm" ] || [ "$dl_type" = "fsps" ]; then  		# HACK: if grabbing fsp from coreboot, fix the path for lbmk  		for _cdl in dl dl_bkup; do @@ -129,11 +138,13 @@ fetch()  	mkdir -p "${_dest%/*}" || \  	    $err "mkdirs: !mkdir -p ${_dest%/*} - $dontflash" -	remkdir "$appdir"; extract_archive "$_dl" "$appdir" "$dl_type" || \ +	remkdir "$appdir" +	extract_archive "$_dl" "$appdir" "$dl_type" || \  	    [ "$dl_type" = "e6400vga" ] || \  	    $err "mkd $_dest $dl_type: !extract. $dontflash" -	eval "extract_$dl_type"; set -u -e +	eval "extract_$dl_type" +	set -u -e  	e "$_dest" f missing && $err "!extract_$dl_type. $dontflash"; :  } @@ -240,7 +251,8 @@ extract_kbc1126ec()  	e "$kbc1126_ec_dump" f missing && \  	    $err "$cbdir: kbc1126 util missing - $dontflash"  	( -	x_ cd "$appdir/"; mv Rompaq/68*.BIN ec.bin || : +	x_ cd "$appdir/" +	mv Rompaq/68*.BIN ec.bin || :  	if [ ! -f "ec.bin" ]; then  		unar -D ROM.CAB Rom.bin || unar -D Rom.CAB Rom.bin || \  		    unar -D 68*.CAB Rom.bin || \ @@ -347,7 +359,8 @@ vendor_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 "" nukemode new_mac xchanged`"  	# randomise the MAC address by default @@ -499,7 +512,8 @@ patch_release_roms()  		    hashfile="$_hashes" && break; :  	done -	x_ mkdir -p "tmp"; [ -L "tmp/rom.list" ] && \ +	x_ mkdir -p "tmp" +	[ -L "tmp/rom.list" ] && \  	    $err "'$archive' -> tmp/rom.list is a symlink - $dontflash"  	x_ rm -f "tmp/rom.list" "tmp/zero.1b"  	x_ dd if=/dev/zero of=tmp/zero.1b bs=1 count=1 @@ -679,7 +693,9 @@ inject()  	[ "$2" = "/dev/null" ] && return 0  	eval "`setvars "" cbfsname _dest _t _offset`" -	cbfsname="$1"; _dest="${2##*../}"; _t="$3" +	cbfsname="$1" +	_dest="${2##*../}" +	_t="$3"  	if [ "$_t" = "fsp" ]; then  		[ $# -gt 3 ] && _offset="$4" @@ -705,7 +721,8 @@ inject()  		return 0  	fi  	if [ "$_t" = "stage" ]; then # the only stage we handle is refcode -		x_ mkdir -p tmp; x_ rm -f "tmp/refcode" +		x_ mkdir -p tmp +		x_ rm -f "tmp/refcode"  		"$rmodtool" -i "$_dest" -o "tmp/refcode" || "!reloc refcode"  		"$cbfstool" "$rom" add-stage -f "tmp/refcode" -n "$cbfsname" \  		    -t stage || $err "$rom: !add ref" diff --git a/script/trees b/script/trees index d53dd4f7..3eb9d054 100755 --- a/script/trees +++ b/script/trees @@ -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 | 
