crudolph@wilbur.unix.ETA.COM (Chuck Rudolph) (03/31/89)
I am having difficulty with trying to specify a VPATH macro. It looks like
it is being ignored. I have tried using versions 3.27 and 3.44 on Apollo's
running SR9.7 and on Sun 3's running SunOS 4. The problem is very easy to
duplicate:
cd make-3.44 # Go to your GNU Make directory.
make make # Make sure that GNU Make is up to date.
mkdir bin # Make a directory to do a make in.
cd bin # Go to it.
../make -f ../Makefile VPATH=.. # Make make with the source from ..
This last command works if I use one of the Apollo or Sun supplied make's.
Could someone please tell me what I'm doing wrong.
---------------------------------------------------------------
Chuck Rudolph Internet: crudolph@unix.eta.com
ETA Systems, Inc., ETC10C UUCP: {amdahl,rutgers}!bungia!eta!unix@crudolph
1450 Energy Park Drive Voice: (612) 642-8444
St. Paul, MN 55108
--
---------------------------------------------------------------
Chuck Rudolph Internet: crudolph@unix.eta.com
ETA Systems, Inc., ETC10C UUCP: {amdahl,rutgers}!bungia!eta!unix@crudolph
1450 Energy Park Drive Voice: (612) 642-8444
St. Paul, MN 55108grady@fxgrp.fx.com (Steven Grady) (12/01/89)
make 3.57 (and earlier versions, I believe) does not handle intermediate files correctly: % touch foo.y % touch foo.o % gnumake -n foo.o cc -c foo.c -o foo.o (There's no makefile -- the default rules demonstrate the problem.) I think the problem is that since foo.o is newer than foo.y, make doesn't see any reason to invoke a production on foo.y. But, since foo.c doesn't exist, it assumes the worst -- that foo.o needs to be remade from foo.c, so it invokes the appropriate production. This is just a guess, of course. This is a pretty severe problem. Steven ...!ucbvax!grady grady@postgres.berkeley.edu "You try any preversions in there, and I'll blow your head off."