jacques@geovision.UUCP (Jacques Carette) (08/05/87)
Could anybody tell me how to make cflow work on sources that are stored in different directories without actually giving it ALL the sources to process? What we have here are programs stored in this form: xfi_displ_proc.c and xfi_poly_flush.c would be in xfi/displ_proc.c and xfi/poly_flush.c . However, both these routines call dbi_act_quer.c, which is stored in dbi/act_quer.c. This is just scratching the surface, since we have some source stored at different directory levels, etc. However, when doing a call graph of one of the programs that call these modules, we do not want to give cflow all the source since there are (as of today) 3044 modules out there, and our average program only references 1000-1500 of them. I was thinking of doing some recursive routine that identifies the source code it needs to look at next by parsing the output of cflow on the top-level routine, and then feeding those to cflow, until I have no more new entries. Anybody out there ever encounter a problem like this before? We need such a call graph because all of our source is stored in libraries, and we have one library for each sub-directory. However, we have routines in xfi/ that call dbi/ that call xfi/ (never referenced before routines, so need another pass through libxfi) that call qsr/ that call su/ that call dbi/ (new ones), etc. And once we have the call graph of this mess (that works, mind you), we can then go through it and generate a (close to uptimal) sequence of libraries that will let us link our particular utility with the least number of library references. Any suggestions welcome. -- Jacques Carette Jr. UUCP: ...!utzoo!dciem!nrcaer!cognos!geovision!jacques Imaginez: Gaston Lagaffe, programmeur. Ca serait chouette, non?