Don't hang for $CPUS=1.
echo prints a newline if it has nothing to print, so wc -l always returns at least 1. Fix: echo -n
diff --git a/scripts/make.sh b/scripts/make.sh
index 23e4a9b..3bd8b4d 100755
--- a/scripts/make.sh
+++ b/scripts/make.sh
@@ -199,7 +199,7 @@
while true
do
PENDING="$(echo $PENDING $(jobs -rp) | tr ' ' '\n' | sort -u)"
- [ $(echo "$PENDING" | wc -l) -lt "$CPUS" ] && break;
+ [ $(echo -n "$PENDING" | wc -l) -lt "$CPUS" ] && break;
wait $(echo "$PENDING" | head -n 1) || exit 1
PENDING="$(echo "$PENDING" | tail -n +2)"