Report issues by shell files with: git ls-files '*.sh' | xargs shellcheck --exclude=SC2162 Address the following: - SC1087: Use braces when expanding arrays - SC1091: Not following - SC2004: `$`/`${}` is unnecessary on arithmetic variables - SC2024: `sudo` doesn't affect redirects - SC2034: foo appears unused. Verify it or export it - SC2086: Double quote to prevent globbing and word splitting - SC2087: Quote `EOF` - SC2115: Use `"${var:?}"` to ensure this never expands to `/*` - SC2148: Add a shebang Addresses (at least partially) some POSIX/dash issues: - SC2113: `function` keyword is non-standard - SC3010: In POSIX sh, `[[` `]]` is undefined - SC3014: In POSIX sh, `==` in place of `=` is undefined - SC3020: In POSIX sh, `&>` is undefined - SC3046: In POSIX sh, `source` in place of `.` is undefined Does not address: - SC2162: `read` without `-r` will mangle backslashes - Any other POSIX/dash-specific issues Signed-off-by: Tim Crawford <tcrawford@system76.com>
41 lines
766 B
Bash
Executable File
41 lines
766 B
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
# shellcheck disable=SC1091
|
|
|
|
set -e
|
|
|
|
if [ -z "$1" ]
|
|
then
|
|
echo "$0 [UEFIPAYLOAD.fd] <ARGS..>" >&2
|
|
exit 1
|
|
fi
|
|
UEFIPAYLOAD="$(realpath "$1")"
|
|
|
|
PACKAGE=UefiPayloadPkg
|
|
BUILD_TYPE=RELEASE
|
|
#BUILD_TYPE=DEBUG
|
|
TOOLCHAIN=COREBOOT
|
|
|
|
COREBOOT_TOOLS_DEF="$XGCCPATH/../share/edk2config/tools_def.txt"
|
|
|
|
# Force use of python3
|
|
export PYTHON_COMMAND=python3
|
|
|
|
pushd edk2 >/dev/null
|
|
make -C BaseTools --jobs="$(nproc)"
|
|
source edksetup.sh --reconfig
|
|
cat "${COREBOOT_TOOLS_DEF}" >> Conf/tools_def.txt
|
|
|
|
build \
|
|
-a IA32 \
|
|
-a X64 \
|
|
-b "${BUILD_TYPE}" \
|
|
-t "${TOOLCHAIN}" \
|
|
-p "${PACKAGE}/${PACKAGE}.dsc" \
|
|
"${@:2}"
|
|
|
|
cp -v \
|
|
"Build/${PACKAGE}X64/${BUILD_TYPE}_${TOOLCHAIN}/FV/UEFIPAYLOAD.fd" \
|
|
"${UEFIPAYLOAD}"
|
|
popd >/dev/null
|