mkscripts.sh revision 22988
1259701Sdim#!/bin/sh -
2259701Sdim# This script generates ed test scripts (.ed) from .t files
3259701Sdim#	
4259701Sdim#	$Id$
5259701Sdim
6259701SdimPATH="/bin:/usr/bin:/usr/local/bin/:."
7259701SdimED=$1
8259701Sdim[ ! -x $ED ] && { echo "$ED: cannot execute"; exit 1; }
9259701Sdim
10259701Sdimfor i in *.t; do
11259701Sdim#	base=${i%.*}
12259701Sdim#	base=`echo $i | sed 's/\..*//'`
13259701Sdim#	base=`expr $i : '\([^.]*\)'`
14259701Sdim#	(
15259701Sdim#	echo "#!/bin/sh -"
16259701Sdim#	echo "$ED - <<\EOT"
17259701Sdim#	echo "r $base.d"
18259701Sdim#	cat $i
19259701Sdim#	echo "w $base.o"
20259701Sdim#	echo EOT
21259701Sdim#	) >$base.ed
22259701Sdim#	chmod +x $base.ed
23259701Sdim# The following is pretty ugly way of doing the above, and not appropriate 
24259701Sdim# use of ed  but the point is that it can be done...
25259701Sdim	base=`$ED - \!"echo $i" <<-EOF
26259701Sdim		s/\..*
27259701Sdim	EOF`
28259701Sdim	$ED - <<-EOF
29259701Sdim		a
30259701Sdim		#!/bin/sh -
31259701Sdim		$ED - <<\EOT
32259701Sdim		H
33259701Sdim		r $base.d
34259701Sdim		w $base.o
35259701Sdim		EOT
36259701Sdim		.
37259701Sdim		-2r $i
38259701Sdim		w $base.ed
39259701Sdim		!chmod +x $base.ed
40259701Sdim	EOF
41259701Sdimdone
42259701Sdim
43259701Sdimfor i in *.err; do
44259701Sdim#	base=${i%.*}
45259701Sdim#	base=`echo $i | sed 's/\..*//'`
46259701Sdim#	base=`expr $i : '\([^.]*\)'`
47259701Sdim#	(
48259701Sdim#	echo "#!/bin/sh -"
49259701Sdim#	echo "$ED - <<\EOT"
50259701Sdim#	echo H
51259701Sdim#	echo "r $base.err"
52259701Sdim#	cat $i
53259701Sdim#	echo "w $base.o"
54259701Sdim#	echo EOT
55259701Sdim#	) >$base-err.ed
56259701Sdim#	chmod +x $base-err.ed
57259701Sdim# The following is pretty ugly way of doing the above, and not appropriate 
58259701Sdim# use of ed  but the point is that it can be done...
59259701Sdim	base=`$ED - \!"echo $i" <<-EOF
60259701Sdim		s/\..*
61259701Sdim	EOF`
62259701Sdim	$ED - <<-EOF
63259701Sdim		a
64259701Sdim		#!/bin/sh -
65259701Sdim		$ED - <<\EOT
66259701Sdim		H
67276479Sdim		r $base.err
68276479Sdim		w $base.o
69276479Sdim		EOT
70276479Sdim		.
71259701Sdim		-2r $i
72259701Sdim		w ${base}.red
73259701Sdim		!chmod +x ${base}.red
74259701Sdim	EOF
75259701Sdimdone
76259701Sdim