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