TLIMONCE@DREW.BITNET.UUCP (07/01/88)
I have just found a bug in Manx's MAKE program. I have a makefile that
has a pre-compiled include file called "app.pre". Certain modules need
it. Others don't. "app.pre" is a file that includes a series of header
files. The definition to create app.pre was like:
APPH = app.h this.h that.h foo.h bar.h thing.h
APPO = this.o that.o foo.o bar.o thing.o
$(APPO) : app.pre
app.pre : $(APPH)
cc $(PFLAGS) +Happ.pre app.h
Now, each time I added a module to the program, I would add an include for
its header into app.h and then the makefile lines APPH and APPO would get
newguy.h and newguy.o added. I hope I'm understood.
NOTE: I know there are easier ways to do this by using $*.o, or $(APP).o
or etc but the makefile is much more complex than the above and it
required the above form.
Now, the problem (which I didn't see) was that I had:
APPH = app.h this.h that.h foo.h bar.h thing.o
APPO = this.o that.o foo.o bar.o thing.o
(Notice that thing.o in the first line should be thing.h.)
This creates a recursive definition and makes MAKE bomb. Can someone
report this to Manx? (Hey guys, I turn on stack-checking... why don't
they?)
Thanks,
Tom
P.S. The bug isn't too bad since the right macros would prevent stupid
operator errors like the above :-). The problem here was that Sunday
(June 25th) there was:
My Amiga started guruing for "no reason" while using "make".
My disks developed serious errors (bless you DiskSalv! Fuck you
cheap 3.5" disks. I'll never buy no-names from a mail-order company again!)
A new wave of solar flares. (Heard it on "The Sky Report" on WDHA.)
A full moon.
It serves me right for planning on getting work done over a weekend! :-)
A // Tom Limoncelli -- TLimonce@Drew.Bitnet \
M // "Never trust a person that doesn't know machine language!" \
I \\// /\
G XX "Have you hugged your SO today?" / \
A --------------------------------------------------------------------------
"The above are my views, not those of Drew University or my employer"
See ya in Philly for the 4th of July, right?