1#!/bin/sh -
2#         $NetBSD: mkscripts.sh,v 1.10 1995/04/23 10:07:36 cgd Exp $
3#
4# This script generates ed test scripts (.ed) from .t files
5
6PATH="/bin:/usr/bin:/usr/local/bin/:."
7ED=$1
8[ ! -x $ED ] && { echo "$ED: cannot execute"; exit 1; }
9
10for i in *.t; do
11#         base=${i%.*}
12#         base=`echo $i | sed 's/\..*//'`
13#         base=`expr $i : '\([^.]*\)'`
14#         (
15#         echo "#!/bin/sh -"
16#         echo "$ED - <<\EOT"
17#         echo "r $base.d"
18#         cat $i
19#         echo "w $base.o"
20#         echo EOT
21#         ) >$base.ed
22#         chmod +x $base.ed
23# The following is pretty ugly way of doing the above, and not appropriate
24# use of ed  but the point is that it can be done...
25          base=`$ED - \!"echo $i" <<-EOF
26                    s/\..*
27          EOF`
28          $ED - <<-EOF
29                    a
30                    #!/bin/sh -
31                    $ED - <<\EOT
32                    H
33                    r $base.d
34                    w $base.o
35                    EOT
36                    .
37                    -2r $i
38                    w $base.ed
39                    !chmod +x $base.ed
40          EOF
41done
42
43for i in *.err; do
44#         base=${i%.*}
45#         base=`echo $i | sed 's/\..*//'`
46#         base=`expr $i : '\([^.]*\)'`
47#         (
48#         echo "#!/bin/sh -"
49#         echo "$ED - <<\EOT"
50#         echo H
51#         echo "r $base.err"
52#         cat $i
53#         echo "w $base.o"
54#         echo EOT
55#         ) >$base-err.ed
56#         chmod +x $base-err.ed
57# The following is pretty ugly way of doing the above, and not appropriate
58# use of ed  but the point is that it can be done...
59          base=`$ED - \!"echo $i" <<-EOF
60                    s/\..*
61          EOF`
62          $ED - <<-EOF
63                    a
64                    #!/bin/sh -
65                    $ED - <<\EOT
66                    H
67                    r $base.err
68                    w $base.o
69                    EOT
70                    .
71                    -2r $i
72                    w ${base}.red
73                    !chmod +x ${base}.red
74          EOF
75done
76