#!/bin/sh
# f77-style shell script to compile Fortran code with f2c
PATH=/bin:/usr/bin:/usr/local/bin
CC=${CC_F2C:-'gcc'}
F2C=${F2C:-f2c}
F2CFLAGS=${F2CFLAGS:='-ARw8 -Nn802'}
rc=0
OUTF=a.out
cOPT=1
CFLAGS=
while
	test -n "$1"
do
	case "$1" in
	-c)	cOPT=0
		shift;;

	-D*)
		CFLAGS="$CFLAGS $1"
		shift;;

	-I*)
		CFLAGS="$CFLAGS $1"
		shift;;

	-g)	CFLAGS="$CFLAGS -g"
		F2CFLAGS="$F2CFLAGS -g"
		shift;;

	-o)	OUTF=$2
		shift 2;;

	-u)	F2CFLAGS="$F2CFLAGS -u"
		shift;;

	-w)	F2CFLAGS="$F2CFLAGS -w"
		shift;;

	-N)	F2CFLAGS="$F2CFLAGS $1""$2"
		shift 2;;

	*.[fF])
		case "$1" in *.f) f=".f";; *.F) f=".F";; esac
		b=`basename $1 $f`
		echo $F2C $F2CFLAGS $1
		$F2C $F2CFLAGS $1
		case $? in 0);; *) exit;; esac
        echo $CC -c $CFLAGS $b.c
        $CC -c $CFLAGS $b.c
		rc=$?
		case $rc in 0);; *) exit;; esac
		OFILES="$OFILES $b.o"
		echo rm -f $b.c
		rm -f $b.c
		case $cOPT in 1) cOPT=2;; esac
		shift;;

	*.s)
		OFILE=`basename $1 .s`.o
		echo ${AS:-as} -o $OFILE $AFLAGS $1
		${AS:-as} -o $OFILE $AFLAGS $1
		case $? in 0);; *) exit;; esac
		OFILES="$OFILES $OFILE"
		case $cOPT in 1) cOPT=2;; esac
		shift;;

	*.c)
		OFILE=`basename $1 .c`.o
        echo $CC -c $CFLAGS $1
        $CC -c $CFLAGS $1
		rc=$?; case $rc in 0);; *) exit;; esac
		OFILES="$OFILES $OFILE"
		case $cOPT in 1) cOPT=2;; esac
		shift;;

	*.o)
		OFILES="$OFILES $1"
		case $cOPT in 1) cOPT=2;; esac
		shift;;

	-l)
		OFILES="$OFILES -l$2"
		case $cOPT in 1) cOPT=2;; esac
		shift 2;;

	-l*)
		OFILES="$OFILES $1"
		case $cOPT in 1) cOPT=2;; esac
		shift;;

	-o)
		OUTF=$2
		shift 2;;

	-*)	CFLAGS="$CFLAGS $1"
		shift;;

	*)	OFILES="$OFILES $1"
		case $cOPT in 1) cOPT=2;; esac
		shift;;
	esac
done

case $cOPT in 2)
 echo $CC $CFLAGS -o $OUTF $OFILES -lf2c -lm
 $CC $CFLAGS -o $OUTF $OFILES -lf2c -lm;;
esac
rc=$?
exit $rc
