jeff@cjsa.UUCP (C. Jeffery Small) (05/05/87)
I got a strange message while compiling a routine the other day and was wondering if anyone could explain its meaning. On an AT&T 3B1 (unix-pc) running SYS-V I issued a "make all" command which generated the following compiler directive from "make" (shown broken across two lines for readability): /bin/cc -c -O -I../hdrs -Doptional_arg=optarg -Dopt_index=optind \ -Dget_options=getopt newalias.c The compiler ran for a time and then the following message was generates: $! nulled, predecessor circle The compile finished without further event and "make" went on to complete the remainder of its work. The program loaded and worked properly. The "$!" in the message seemed indicative of "make" but I find no reference to a $! variable in my copy of the "make" documentation - so I have assumed that the message was generated by the compiler. Any ideas as to what this message means? Thanks. ---- Jeffery Small (203) 776-2000 UUCP: ihnp4!---\ C. Jeffery Small and Associates hsi!cjsa!jeff 123 York Street, New Haven, CT 06511 hao!noao!---/
ekb@ho7cad.ATT.COM (#ERIC K. BUSTAD) (05/07/87)
In article <214@cjsa.UUCP>, jeff@cjsa.UUCP (C. Jeffery Small) writes: > > $! nulled, predecessor circle > > [ Asks whether it comes from cc and what it means.] The message is from make. $! to be an undocumented make macro which contains the names of all predecessors of the current target. If your makefile contains the following a: b b: c c: d d: bin echo $! and you run "make a", you get this output: echo d c b a d c b a The message seems to indicate a loop in the file dependencies, such as a: b b: c c: a = Eric
wagner@iaoobelix.UUCP (05/08/87)
> /***** iaoobelix:comp.lang.c / cjsa!jeff / 3:11 pm May 5, 1987*/ > I got a strange message while compiling a routine the other day and was > wondering if anyone could explain its meaning. ... > The compiler ran for a time and then the following message was generates: > > $! nulled, predecessor circle > The message you got has nothing to do with the compiler. It comes from 'make'. Try the following: write a file `Makefile' containing foo: foo @echo this is foo. Then say `make'. You will get something like % make $! nulled, predecessor circle this is foo. % What I want to show is that you Makefile contains a cyclic reference (a file depends on itself, and is non-existent). The cyclic reference is ignored automatically ("nulled"), so the respective action is performed. Juergen Wagner, (USENET) ...seismo!unido!iaoobel!wagner ("Gandalf") Fraunhofer Institute IAO, Stuttgart
cim2@pyuxv.UUCP (Robert L. Fair) (05/08/87)
jeff@cjsa.UUCP writes: >... >The compiler ran for a time and then the following message was generates: > > $! nulled, predecessor circle > >The compile finished without further event and "make" went on to complete the >remainder of its work. The program loaded and worked properly. > >The "$!" in the message seemed indicative of "make" but I find no reference >to a $! variable in my copy of the "make" documentation - so I have assumed >that the message was generated by the compiler. The message does indeed come from make, it is spewed out when make realises that one of the things it needs to make depends on the thing you are making. There is some bug in your makefile dependencies so that there is a circular definition i.e. xxx: aaaa aaaa: bbb bbb: xxx or similar. Check the makefile with a fine tooth comb. The message is documented in ... the make source code of course ;-) Rob. Fair Bell Communications Research/CHC ihnp4!pyuxvww!pyuxv!cim2