Files
not-much-fuzz/scripts/build.sh
2026-03-17 13:59:45 +01:00

23 lines
871 B
Bash
Executable File

#!/bin/sh
BOLD="\033[1m"
GREEN="\033[0;32m"
OFF="\033[m"
NAME="nmf"
SRC="./src/main.sh"
tmpdir=$(mktemp -d)
[ "${1:-}" ] || echo "🥚 ${GREEN}Internalize sourced files${OFF}"
sed -E 's|\. "([^$].+)"$|cat src/\1|e' "$SRC" >"$tmpdir/1.sh"
[ "${1:-}" ] || echo "🐔 ${GREEN}Internalize awk scripts${OFF}"
sed -E 's|@@include (.+)$|cat src/\1|e' "$tmpdir/1.sh" >"$tmpdir/2.sh"
[ "${1:-}" ] || echo "🥚 ${GREEN}Internalize awk libraries${OFF}"
sed -E 's|@include "(.+)"$|cat src/\1|e' "$tmpdir/2.sh" >"$tmpdir/3.sh"
[ "${1:-}" ] || echo "🐔 ${GREEN}Strip comments${OFF}"
grep -v "^ *# " "$tmpdir/3.sh" | grep -v "^ *#$" >"$NAME"
[ "${1:-}" ] || echo "🥚 ${GREEN}Make executable and cleanup${OFF}"
chmod +x "$NAME"
rm -rf "$tmpdir"
[ "${1:-}" ] || echo "🍳 ${GREEN}Done:${OFF} Sucessfully built ${BOLD}${GREEN}$NAME${OFF}"
[ "${1:-}" ] && shellcheck -f gcc "$NAME"