#!/bin/sh
# Simple IMP compiler shell wrapper

PROGNAME=`basename $0`
DOLIST=false
DOCODE=false
DOLINK=true
LISTFILE=/dev/null
CODEFILE=/dev/null
INCDIR=/usr/local/include

# Parse the arguments...
MORETODO=true
while ${MORETODO} ; do
   case X"$1" in
   X-c)
	DOLINK=false
	;;
   X-Fc)
	DOCODE=true
	;;
   X-Fs)
	DOLIST=true
	;;
   *)
	MORETODO=false
	;;
   esac
   ${MORETODO} && shift
done

if [ $# -ne 1 ]; then
	echo "${PROGNAME}: No source file?" 1>&2
	exit 1
fi

# try to be ambivalent about which extension is used
SRCNAME=`basename $1 .imp`
SRCNAME=`basename $SRCNAME .i`
# and now check that there was one (and it's been removed)
if [ X"$SRCNAME" = X"$1" ]; then
	echo "${PROGNAME}: Source must be .imp or .i" 1>&2
	exit 1
fi

if ${DOLIST}; then
	LISTFILE=$SRCNAME.lst
fi

if ${DOCODE}; then
	CODEFILE=$SRCNAME.cod
fi

i77p1 $1,$INCDIR/stdperm.imp $SRCNAME.icd,$LISTFILE
if [ $? -ne 0 ] ; then
	exit 1
fi

i77p2 $SRCNAME.icd,$1 $SRCNAME.ibj,$CODEFILE
rm $SRCNAME.icd
i77p3 $SRCNAME.ibj $SRCNAME.o
rm $SRCNAME.ibj

if ${DOLINK}; then
	gcc -o $SRCNAME $SRCNAME.o -limp77
	rm $SRCNAME.o
fi
