README: This directory contains the files for 'cxref', a C language cross referencing program. The makefile will build the program. Use 'make install' to put a copy in the right places. Cxref is a driver, and goes in DESTDIR, which will be your local bin of choice. LIB is where the programs go that do the work. The makefile makes the directory /usr/local/lib/cxref (i.e. LIB) to hold the programs. The cxref driver is dependant on where LIB is. I have them set to use my BIN. BIN is taken from the environment, since I use the UNIX 4.0 make. SORT is the full pathname for the Unix sort program, sometimes /bin/sort, other times /usr/bin/sort. Edit the makefile to set everything up properly. System III and V users should edit the file 'basename.c' to change the call to 'rindex' to 'strrchr'. The flow of information between programs is shown below. I suggest that you run the programs separately, successively adding the next program in a particular pipeline, to see how the information is transformed. The outline below of the flow of control does not necessarily show all the arguments that each program requires; see the source code to be sure, when you run the programs by hand. With some work in the cscan.l and cxref.c files, this program could be easily made to cross reference other languages. Here is a list of the files, and what they contain: README --- this file. cxref.1 --- man page. makefile --- the makefile. cxref.c --- driver, calls all the other programs, does arg handling. old.cxref.c --- old version, used the shell to do the dirty work. (this file can probably be deleted.) constdefs.h --- header file, used by cscan.l and cxrfilt.c. cscan.l --- does the work of finding indentifiers and contsants. docxref.c --- main program and some other stuff to drive lex. cxrfilt.c --- filters int and floats to their own files. also puts ints and floats back together after sorting. fmtxref.c --- formats output for printing. SORT[1-3] --- shell files to save typing during testing and development. For development, the flow of programs is: docxref files | SORT1 | cxrfilt | fmtxref SORT2 < tempfile1 | cxrfilt -i | fmtxref SORT3 < tempfile2 | cxrfilt -f | fmtxref Arnold Robbins, Information and Computer Science, Georgia Tech gatech!arnold January 1985. Copyright (c) 1985 by Arnold Robbins. All rights reserved.