mkscripts.sh revision 16
11590Srgrimes#!/bin/sh - 21590Srgrimes# This script generates ed test scripts (.ed) from .t files 31590Srgrimes 41590SrgrimesPATH="/bin:/usr/bin:/usr/local/bin/:." 51590SrgrimesED=$1 61590Srgrimes[ X"$ED" = X -o ! -x $ED ] && ED="../ed" 71590Srgrimes[ ! -x $ED ] && { echo "$ED: cannot execute"; exit 1; } 81590Srgrimes 91590Srgrimesfor i in *.t; do 101590Srgrimes# base=${i%.*} 111590Srgrimes# base=`echo $i | sed 's/\..*//'` 121590Srgrimes base=`expr $i : '\([^.]*\)'` 131590Srgrimes ( 141590Srgrimes echo "#!/bin/sh -" 151590Srgrimes echo "$ED - <<\EOT" 161590Srgrimes echo "r \\$base.d" 171590Srgrimes cat $i 181590Srgrimes echo "w \\$base.o" 191590Srgrimes echo EOT 201590Srgrimes ) >$base.ed 211590Srgrimes chmod +x $base.ed 221590Srgrimes# The following is pretty ugly and not appropriate use of ed 231590Srgrimes# but the point is that it can be done... 241590Srgrimes# base=`$ED - \!"echo \\\\$i" <<-EOF 251590Srgrimes# s/\..* 261590Srgrimes# EOF` 271590Srgrimes# $ED - <<-EOF 281590Srgrimes# a 291590Srgrimes# #!/bin/sh - 301590Srgrimes# $ED - <<\EOT 311590Srgrimes# r \\$base.d 321590Srgrimes# w \\$base.o 331590Srgrimes# EOT 341590Srgrimes# . 351590Srgrimes# -2r \\$i 361590Srgrimes# w \\$base.ed 3787712Smarkm# !chmod +x \\$base.ed 3887712Smarkm# EOF 3987712Smarkmdone 4087712Smarkm 411590Srgrimesfor i in *.err; do 4287712Smarkm# base=${i%.*} 4369528Sasmodai# base=`echo $i | sed 's/\..*//'` 441590Srgrimes base=`expr $i : '\([^.]*\)'` 451590Srgrimes ( 461590Srgrimes echo "#!/bin/sh -" 4774876Sdwmalone echo "$ED - <<\EOT" 4887712Smarkm echo H 4987712Smarkm echo "r \\$base.err" 501590Srgrimes cat $i 511590Srgrimes echo "w \\$base.o" 521590Srgrimes echo EOT 531590Srgrimes ) >$base-err.ed 5487712Smarkm chmod +x $base-err.ed 5587712Smarkm# base=`$ED - \!"echo \\\\$i" <<-EOF 561590Srgrimes# s/\..* 571590Srgrimes# EOF` 581590Srgrimes# $ED - <<-EOF 591590Srgrimes# a 601590Srgrimes# #!/bin/sh - 6117833Sadam# $ED - <<\EOT 6217833Sadam# H 631590Srgrimes# r \\$base.err 641590Srgrimes# w \\$base.o 651590Srgrimes# EOT 661590Srgrimes# . 671590Srgrimes# -2r \\$i 6817825Speter# w \\${base}-err.ed 691590Srgrimes# !chmod +x ${base}-err.ed 7074876Sdwmalone# EOF 7174876Sdwmalonedone 7274876Sdwmalone