#!/bin/bash NUM=$1; shift if [ -z "$NUM" ]; then echo "Usage: parallel command" echo " Sets environment variable i from 1 to number_of_tasks" echo " Defaults to 20 processes at a time, use like \"MAKEOPTS='-j5' parallel ...\" to override." echo "Example: parallel 100 'echo \$i; sleep \`echo \$RANDOM/6553 | bc -l\`'" exit 1 fi export CMD="$@"; true ${MAKEOPTS:="-j20"} cat << EOF | make -f - -s $MAKEOPTS PHONY=jobs jobs=\$(shell echo {1..$NUM}) all: \${jobs} \${jobs}: i=\$@ sh -c "\$\$CMD" EOF