-#!/bin/bash
+#!/bin/sh
# FORTRAN IV compiler wrapper for simh h316
+if [ "$FRTN_ORIGINAL" ]; then
+ LOGNAME="FORTRAN IV COMPILER (Original):"
+else
+ LOGNAME="FORTRAN IV COMPILER:"
+fi
+
if [ ! $1 ] ; then
- echo "Argument fehlt!"
+ echo "$LOGNAME Input file missing!"
exit 2
fi
name=`basename $1 .f`
+if [ ! -f "$1" ]; then
+ echo "$LOGNAME Input file \"$name\" not found!"
+ exit 2
+fi
+
+
listfile=$name.lst
cat $1 | tab | paron > $name.par
rm -f $name.lst
rm -f $name.obj
-echo "rest $H316/sys/frtn.sys" > $name.go
-echo "r" >> $name.go
-
-echo "at ptr $name.par" >> $name.go
-echo "at ptp $name.obj" >> $name.go
-echo "at tty3 $listfile" >> $name.go
-echo "set tty3 uascii" >> $name.go
-echo "set tty3 start" >> $name.go
-
-echo "d a 311" >> $name.go
-echo "d p 1000" >> $name.go
-echo "d ss1 0" >> $name.go
-echo "d ss2 1" >> $name.go
-echo "d ss3 0" >> $name.go
-echo "d ss4 0" >> $name.go
-echo "go" >> $name.go
-echo "quit" >> $name.go
-h316 $name.go > /dev/null
+echo -n "$LOGNAME Compiling \"$1\":"
+
+if [ "$FRTN_ORIGINAL" ]; then
-rm -f $name.par
-rm -f $name.go
+cat > $name.go <<EOF
+at ptr $H316/honeywell/slst/frtn_8k.slst
+boot ptr
+r
+at ptr $name.par
+at ptp $name.obj
+at tty3 $listfile
+set tty3 uascii
+set tty3 start
+d a 311
+;d a 310
+d p 1000
+d ss1 0
+d ss2 1
+d ss3 0
+d ss4 0
+go
+quit
+EOF
+
+
+else
+
+cat > $name.go <<EOF
+rest $H316/sys/frtn.sys
+r
+at ptr $name.par
+at ptp $name.obj
+at tty3 $listfile
+set tty3 uascii
+set tty3 start
+d a 311
+;d a 310
+d p 1000
+d ss1 0
+d ss2 1
+d ss3 0
+d ss4 0
+go
+quit
+EOF
+
+fi
+
+h316 $name.go > /dev/null
if cat $name.lst | egrep "[*]{36,40}">/dev/null 2>&1; then
cat $name.lst
- echo -e "\n\nFORTRAN IV compilation FAILED!"
+ echo -e " FAILED!"
rm -f $name.obj
exit 77
fi
if [ ! $2 ]; then
rm $name.lst
+ rm -f $name.go
+ rm -f $name.par
+
fi
-echo "FORTRAN IV compilation successfull."
+echo " Success."
exit 0