30 lines · 555 B · Text
RawDownload
#!/bin/rc x=/tmp/mk$pid fn sigexit { rm -f $x }fn sigint { rm -f $x } tee $x < $1 | sed -e 's/\$\(([^)]*)\)([        :\/])/$\1\2/g	s/\$\(([^)]*)\)$/$\1/g	s/\$\(([^)]*)\)/${\1}/g	s/^     @/  /	/^	-/,/[^\\]$/{		/[^\\]\$/s/$/; set -e/	}	/^	-/s/	-/	set +e; /	s/:\&/:/	s/\$% /$stem /g	s/\$%\./$stem\./g	s/\$%/${stem}/g	s/\$@([ 	]|$)/$target\1/g	s/\$@/${target}/g	s/\$\^/${prereq}/g	s/\$\?/$newprereq/g' if(grep -s 'cd[ 	]|make' < $x){	{		echo 'Warning: recipes containing cd or make need attention.'		grep 'cd[ 	]|make' < $x	} >[1=2]}