From: Phillip Rzewski (kutcha@eos.acm.rpi.edu)
Date: 09/07/92


From: kutcha@eos.acm.rpi.edu (Phillip Rzewski)
Subject: Re: Problems compiling GNU make
Date: Mon, 7 Sep 1992 09:22:20 GMT

In article <1992Sep6.164840.24588@pool.info.sunyit.edu> ujlh@pool.info.sunyit.edu (James Henrickson) writes:
>I have been repeatedly unable to compile GNU make. I have had this
>problem for several versions of Linux and a couple versions of GCC.
>This time I think I got the definitions right and it compiles, but
>if I use the resulting make it does something terrible. This is
>only a request for help from someone that has had similar problems.
>I am using Linux 0.97-patch2 (haven't moved up to patch3, give me
>time) and gcc 2.2.2d.
>
>Say I've got two files to compile and the desired action is as
>follows (I don't remember the original statements, just the desired
>action from make):
>
>gcc -O6 -C filea.c -o filea.o
>gcc -O6 -C fileb.c -o fileb.o
>
>(I hope I got the "-C" correct, this is from memory.)
>
>When I run make, the first line works as expected. On the second line,
>though, the "fileb.o" gets lost and gcc just sits there without giving
>me any complaints. Hitting ^C to interrupt the job and then running
>make again allows me to compile the second line correctly, but it
>does the same thing on the next file!
>
>I don't remember the exact structure of the Makefile that this is
>happening with, but I get the same behavior with other Makefiles. I'm
>only explaining the problem so that someone else might recognize it
>and mail me a fix.

    Well, I doubt I have a fix for you right now, but I'll post what I have
found for the benefit of others. I was poking through the source to GNU
make tonight for another reason and as I read through the Makefile I saw
something that brought back your problem from the depths of my subconscious.
There is apparently a compile-time DEFINE in GNU make called "NO_MINUS_C_MINUS
_O". I don't know what happens if you define it against the grain of the way
your C compiler works (since I've never personally compiled GNU make) but the
example line they show as for whether or not to -D that constant is:
gcc -c foo.c -o foo.o, which looks hauntingly similar to the one which you
listed above (except for the case of the C, which you probably just missed
while pulling it from your brain).

    I just wanted to make sure you were aware of the existence of that
constant. If you weren't aware of it, I'd see if you've been defining the
constant during your recent compiles of make, and do the opposite thing. :)

    I hope this was of some help to you.