Annotation of researchv10no/cmd/f2c/f77.pyxis0, revision 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.