plan9fox/sys/src/cmd/mk/mkconv
2011-03-30 19:35:09 +03:00

31 lines
555 B
Bash

#!/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]
}