Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Path: utzoo!mnetor!seismo!ut-sally!ut-ngp!mic
From: mic@ut-ngp.UUCP (Mic Kaczmarczik)
Newsgroups: comp.sys.amiga
Subject: Re: Egad makefile (was Manx under 1.2)
Message-ID: <4437@ut-ngp.UUCP>
Date: Tue, 16-Dec-86 10:24:49 EST
Article-I.D.: ut-ngp.4437
Posted: Tue Dec 16 10:24:49 1986
Date-Received: Wed, 17-Dec-86 18:35:45 EST
References: <1072@tekigm.UUCP>
Reply-To: mic@ngp.UUCP (Mic Kaczmarczik)
Organization: UTexas Computation Center, Austin, Texas
Lines: 55
Keywords: patches Manx make
Summary: The Makefile might be corrupted

In article <1072@tekigm.UUCP> phils@tekigm.UUCP (Phil Staub) writes:
>Now, regarding a problem I was having with the makefile for Egad. I
>was attempting to get EGad compiled, and make crashed the machine. 
>Being naive enough not to believe that Manx would ship with that kind of an 
>obvious flaw in "make", I did some experimenting. What I found was truly 
>enlightening.
>
>One of the makefile targets is a pre-compiled symbol table file generated by
>running cc with the +h switch on a .h file which contains all of the include
>files ever requested by any of the other modules. The command line looked
>like this:
>
>gt.dmp:
>	cc +hgt.dmp -a +D +l head.h
>
>where head.h contained a #include line for each include file used.
>
>Typing "make gt.dmp" caused the Amiga to hang when everything was complete.
>So I got rid of a few options. First the -a. Still crashed. Then the +D and 
>+l. Still no luck. So I edited head.h and got rid of all but one include, 
>in the event that the problem was being caused by something in one of the 
>include files. Nope. Then I changed the name of head.h to head.c, updated the 
>Makefile, and re-ran it. Eureka! apparently, the .h extension was somehow 
>crashing make! 
[...]
>-------------------------------------------------------------------------------
>Phil Staub              tektronix!tekigm!phils    (206) 253-5634
>Tektronix, Inc., ISI Engineering
>P.O.Box 3500, M/S C1-904, Vancouver, Washington  98668

Um, I don't know about that...  I was able to "make" Egad with Manx
3.20a using the supplied Makefile with no changes to the rules, but
only after I had removed all the extraneous spaces.  For example,
let's say you have some lines that look like:

foo:	foo.o
	cc $(CFLAGS) foo.c
____<-spaces

Manx's make consistently crashes right after compiling foo.c, probably
because it's trying to fexec() the line with nothing but spaces on it,
thinking it part of the rule for making foo.  When I removed the
spaces from the blank lines in the Egad makefile, I had no problems
(at least with the Makefile).

--mic--

UUCP:	...!ihnp4!seismo!ut-sally!ut-ngp!mic
ARPA:	mic@ngp.utexas.edu
BITNET:	ccep001@utadnx.bitnet

Disclaimers:
Your mileage may vary. This opinion void in the following states:
[a-z]*. The check is in the mail.  It's not my fault if it crashes, I
just designed it... ;-)