Annotation of researchv10dc/cmd/f2c/f77.pyxis0, revision 1.1.1.1

1.1       root        1: #!/bin/sh
                      2: PATH=/v/bin:/bin:/usr/bin
                      3: #      f77 - Unix script to compile and load fortran (C, Pascal, assembly) codes
                      4: 
                      5: #      usage:  f77 [-O] [-o absfile] [-c] files [-l library]
                      6: 
                      7: #              -o objfile      Override default executable name a.out.
                      8: 
                      9: #              -c              Do not call linker, leave relocatables in *.o.
                     10: 
                     11: #              -m              produce a load map (objfile.map).
                     12: 
                     13: #              -S              leave assembler output on file.s
                     14: 
                     15: #              -l library      (passed to ld).
                     16: 
                     17: #              files           FORTRAN source files ending in .f .
                     18: #                              C source files ending in .c .
                     19: #                              Assembly language files ending in .s .
                     20: #                              efl source files ending in .e .
                     21: 
                     22: F77=/usr/dmg/F77/libF77.a
                     23: I77=/usr/dmg/I77/libI77.a
                     24: s=/tmp/stderr_$$
                     25: t=/tmp/f77_$$.o
                     26: CC=${CC_f2c:-/v/bin/lcc}
                     27: EFL=${EFL:-/usr/dmg/bin/Efl}
                     28: EFLFLAGS=${EFLFLAGS:-'system=portable deltastno=10'}
                     29: F2C=${F2C:-/usr/dmg/bin/f2c}
                     30: F2CFLAGS=${F2CFLAGS:=-AR}
                     31: rc=0
                     32: trap "rm -f $s $t; exit \$rc" 0
                     33: lib=/lib/num/lib.lo
                     34: OUTF=a.out
                     35: cOPT=1
                     36: set -- `getopt cgmL:N:Oo:pQ:Sw123 "$@"`
                     37: case $? in 0);; *) exit 1;; esac
                     38: while
                     39:        test X"$1" != X--
                     40: do
                     41:        case "$1"
                     42:        in
                     43:        -c)
                     44:                cOPT=0
                     45:                shift
                     46:                ;;
                     47:        -g)
                     48:                CFLAGS="$CFLAGS -g"
                     49:                shift;;
                     50:        -o)
                     51:                OUTF=$2
                     52:                shift 2
                     53:                ;;
                     54: 
                     55:        -O)     case $2 in -1) O=-O1;; -2) O=-O2;; -3) O=-O3;; *) O=-O;; esac
                     56:                case $O in -O);; *) shift;; esac
                     57:                # lcc ignores -O...
                     58:                shift
                     59:                ;;
                     60: 
                     61:        -w)
                     62:                F2CFLAGS="$F2CFLAGS -w"
                     63:                shift;
                     64:                ;;
                     65: 
                     66:        -N)     F2CFLAGS="$F2CFLAGS $1""$2"
                     67:                shift 2
                     68:                ;;
                     69: 
                     70:        -S)
                     71:                CFLAGS="$CFLAGS -S"
                     72:                cOPT=0
                     73:                shift
                     74:                ;;
                     75: 
                     76:        -[123])
                     77:                echo "invalid parameter $1" 1>&2
                     78:                shift
                     79:                ;;
                     80:        *)
                     81:                echo "invalid parameter $1" 1>&2
                     82:                shift
                     83:                ;;
                     84:        esac
                     85: done
                     86: shift
                     87: while
                     88:        test -n "$1"
                     89: do
                     90:        case "$1"
                     91:        in
                     92:        *.f)
                     93:                b=`basename $1 .f`
                     94:                $F2C $F2CFLAGS $1
                     95:                case $? in 0);; *) exit;; esac
                     96:                 $CC -c $CFLAGS $b.c
                     97:                case $? in 0);; *) exit;; esac
                     98:                OFILES="$OFILES $b.o"
                     99:                rm $b.c
                    100:                case $cOPT in 1) cOPT=2;; esac
                    101:                shift
                    102:                ;;
                    103:        *.e)
                    104:                b=`basename $1 .e`
                    105:                $EFL $EFLFLAGS $1 >$b.f
                    106:                case $? in 0);; *) exit;; esac
                    107:                $F2C $F2CFLAGS $b.f
                    108:                case $? in 0);; *) exit;; esac
                    109:                 $CC -c $CFLAGS $b.c
                    110:                case $? in 0);; *) exit;; esac
                    111:                OFILES="$OFILES $b.o"
                    112:                rm $b.[ce]
                    113:                case $cOPT in 1) cOPT=2;; esac
                    114:                shift
                    115:                ;;
                    116:        *.s)
                    117:                echo $1: 1>&2
                    118:                OFILE=`basename $1 .s`.o
                    119:                ${AS:-/bin/as} -o $OFILE $AFLAGS $1
                    120:                case $? in 0);; *) exit;; esac
                    121:                OFILES="$OFILES $OFILE"
                    122:                case $cOPT in 1) cOPT=2;; esac
                    123:                shift
                    124:                ;;
                    125:        *.c)
                    126:                echo $1: 1>&2
                    127:                OFILE=`basename $1 .c`.o
                    128:                 $CC -c $CFLAGS $1
                    129:                rc=$?; case $rc in 0);; *) exit;; esac
                    130:                OFILES="$OFILES $OFILE"
                    131:                case $cOPT in 1) cOPT=2;; esac
                    132:                shift
                    133:                ;;
                    134:        *.o)
                    135:                OFILES="$OFILES $1"
                    136:                case $cOPT in 1) cOPT=2;; esac
                    137:                shift
                    138:                ;;
                    139:        -l)
                    140:                OFILES="$OFILES -l$2"
                    141:                shift 2
                    142:                case $cOPT in 1) cOPT=2;; esac
                    143:                ;;
                    144:        -l*)
                    145:                OFILES="$OFILES $1"
                    146:                shift
                    147:                case $cOPT in 1) cOPT=2;; esac
                    148:                ;;
                    149:        -o)
                    150:                OUTF=$2; shift 2;;
                    151:        *)
                    152:                OFILES="$OFILES $1"
                    153:                shift
                    154:                ;;
                    155:        esac
                    156: done
                    157: 
                    158: case $cOPT in 2) $CC -o $OUTF -u MAIN__ $OFILES $F77 $I77 -lm -lc;; esac
                    159: rc=$?
                    160: exit $rc

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.