global: Corrected absolute paths in bin/ symbolic links
[h316.git] / bin / frtn
1 #!/bin/sh
2 # FORTRAN IV compiler wrapper for simh h316
3
4 if [ "$FRTN_ORIGINAL" ]; then
5 LOGNAME="FORTRAN IV COMPILER (Original):"
6 else
7 LOGNAME="FORTRAN IV COMPILER:"
8 fi
9
10 if [ ! $1 ] ; then
11 echo "$LOGNAME Input file missing!"
12 exit 2
13 fi
14
15 name=`basename $1 .f`
16 if [ ! -f "$1" ]; then
17 echo "$LOGNAME Input file \"$name\" not found!"
18 exit 2
19 fi
20
21
22 listfile=$name.lst
23
24 cat $1 | tab | paron > $name.par
25 rm -f $name.lst
26 rm -f $name.obj
27
28 echo -n "$LOGNAME Compiling \"$1\":"
29
30 if [ "$FRTN_ORIGINAL" ]; then
31
32 cat > $name.go <<EOF
33 at ptr $H316/honeywell/slst/frtn_8k.slst
34 boot ptr
35 r
36 at ptr $name.par
37 at ptp $name.obj
38 at tty3 $listfile
39 set tty3 uascii
40 set tty3 start
41 d a 311
42 ;d a 310
43 d p 1000
44 d ss1 0
45 d ss2 1
46 d ss3 0
47 d ss4 0
48 go
49 quit
50 EOF
51
52
53 else
54
55 cat > $name.go <<EOF
56 rest $H316/sys/frtn.sys
57 r
58 at ptr $name.par
59 at ptp $name.obj
60 at tty3 $listfile
61 set tty3 uascii
62 set tty3 start
63 d a 311
64 ;d a 310
65 d p 1000
66 d ss1 0
67 d ss2 1
68 d ss3 0
69 d ss4 0
70 go
71 quit
72 EOF
73
74 fi
75
76 h316 $name.go > /dev/null
77
78 if cat $name.lst | egrep "[*]{36,40}">/dev/null 2>&1; then
79 cat $name.lst
80 echo -e " FAILED!"
81 rm -f $name.obj
82 exit 77
83 fi
84
85 if [ ! $2 ]; then
86 rm $name.lst
87 rm -f $name.go
88 rm -f $name.par
89
90 fi
91 echo " Success."
92 exit 0
93
94
95