Annotation of researchv10no/cmd/cflow/cf, revision 1.1.1.1

1.1       root        1: #! /bin/sh
                      2: #      @(#)cflow.sh    1.6     83/10/05
                      3: #      3.0 SID #       1.2
                      4: INVFLG=
                      5: DFLAG=
                      6: IFLAG=
                      7: DIR=/usr/lib
                      8: CC=/bin/cc
                      9: LINT1=/usr/lib/lint/lint1
                     10: TMP=/usr/tmp/cf.${$}
                     11: TMPG=${TMP}.g
                     12: trap "rm -f ${TMP}*; kill ${$}" 1 2 3
                     13: echo "" >${TMP}.g
                     14: while [ -n "${1}" ]
                     15: do
                     16:        case "${1}" in
                     17:        -r)
                     18:                INVFLG=1
                     19:                ;;
                     20:        -d*)
                     21:                DFLAG=${1}
                     22:                ;;
                     23:        -i*)
                     24:                IFLAG="${IFLAG} ${1}"
                     25:                ;;
                     26:        -f)
                     27:                cat ${2} </dev/null >>${TMPG}
                     28:                shift
                     29:                ;;
                     30:        -g)
                     31:                TMPG=${2}
                     32:                if [ -z "${TMPG}" ]
                     33:                then
                     34:                        TMPG=${TMP}.g
                     35:                fi
                     36:                shift
                     37:                ;;
                     38:        -[IDU]*)
                     39:                o="${o} ${1}"
                     40:                ;;
                     41:        *.y)
                     42:                yacc ${1}
                     43:                sed -e "/^# line/d" y.tab.c > ${1}.c
                     44:                ${CC} -E ${o} ${1}.c | ${LINT1} -H${TMP}.j 2>/dev/null ${1}.c\
                     45:                        | ${DIR}/lpfx ${IFLAG} >>${TMPG}
                     46:                rm y.tab.c ${1}.c
                     47:                ;;
                     48:        *.l)
                     49:                lex ${1}
                     50:                sed -e "/^# line/d" lex.yy.c > ${1}.c
                     51:                ${CC} -E ${o} ${1}.c | ${LINT1} -H${TMP}.j 2>/dev/null ${1}.c\
                     52:                        | ${DIR}/lpfx ${IFLAG} >>${TMPG}
                     53:                rm lex.yy.c ${1}.c
                     54:                ;;
                     55:        *.c)
                     56:                ${CC} -E ${o} ${1} | ${LINT1} -H${TMP}.j ${1}\
                     57:                        | lpfx ${IFLAG} >>${TMPG}
                     58:                ;;
                     59:        *.i)
                     60:                name=`basename ${1} .c`
                     61:                ${LINT1} -H${TMP}.j 2>/dev/null <${1} | ${DIR}/lpfx >>${TMPG} ${name}.c
                     62:                ;;
                     63:        *.s)
                     64:                a=`basename ${1} .s`
                     65:                as -o ${TMP}.o ${1}
                     66:                nm -he ${TMP}.o | sort -t'|' -n +1 -2 | ${DIR}/nmf ${a} ${a}.s >>${TMPG}
                     67:                ;;
                     68:        *.o)
                     69:                a=`basename ${1} .o`
                     70:                nm -he ${1} | sort -t'|' -n +1 -2 | ${DIR}/nmf ${a} ${a}.o >>${TMPG}
                     71:                ;;
                     72:        *)
                     73:                echo ${1} "-- cflow can't process - file skipped"
                     74:                ;;
                     75:        esac
                     76:        shift
                     77: done
                     78: if [ -n "${INVFLG}" ]
                     79: then
                     80:        grep "=" ${TMPG} >${TMP}.q
                     81:        grep ":" ${TMPG} | ${DIR}/flip >>${TMP}.q
                     82:        sort <${TMP}.q >${TMPG}
                     83:        rm ${TMP}.q
                     84: fi
                     85: ${DIR}/dag ${DFLAG} <${TMPG}
                     86: rm -f ${TMP}*

unix.superglobalmegacorp.com

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