[gnu.utils.bug] "::" bug in gmake

ramsdell@LINUS.MITRE.ORG (06/08/89)

# Suspected bug in GNU Make version 3.45.
# "make all" fails with the message:
# gmake: *** No way to make target `foo.c'.  Stop.
# I think it should succeed as it does when using Sun make.
# John D. Ramsdell -- June 1989.
# Note the use of "::"!  Obviously, this example does not call
# for the use of "::", but it is derived from one that does.

all:	foo
	foo
	rm foo foo.c

foo.c::
	echo 'main(){ printf("Hello world.\n"); return 0; }' > $@

ramsdell@LINUS.MITRE.ORG (06/09/89)

   Posted-Date: Thu, 08 Jun 89 20:49:41 PDT
   Organization: The MITRE Corp., Washington, D.C.
   Date: Thu, 08 Jun 89 20:49:41 PDT
   From: Roland McGrath <mcgrath%paris.Berkeley.EDU@ginger.Berkeley.EDU>
   X-Mdf: ramsdell <Ramsdell, John D> re-routed to "ramsdell@linus.mitre.org"

   I cannot reproduce this bug in my version.  Try getting a newer version (3.48
   was the last release) and try it again.

I copied GNU make version 3.48 from prep.ai.mit.edu and got the same
result as before:
-----------------------------
huxley% cd ~/trash/make-3.48
huxley% gmake make
gcc  -g -O   -c arscan.c -o arscan.o
gcc  -g -O   -c glob.c -o glob.o
gcc  -g -O   -c ar.c -o ar.o
gcc  -g -O   -c commands.c -o commands.o
gcc  -g -O   -c dir.c -o dir.o
gcc  -g -O   -c file.c -o file.o
gcc  -g -O  -c load.c
gcc  -g -O   -c make.c -o make.o
gcc  -g -O   -c read.c -o read.o
gcc  -g -O   -c remake.c -o remake.o
gcc  -g -O  -c remote.c
gcc  -g -O   -c rule.c -o rule.o
gcc  -g -O   -c variable.c -o variable.o
gcc  -g -O   -c vpath.c -o vpath.o
gcc  -g -O   -c version.c -o version.o
gcc -g arscan.o glob.o ar.o commands.o dir.o file.o load.o make.o read.o remake.o remote.o rule.o variable.o vpath.o version.o    -o make.new
mv make.new make
huxley% cd ~/c
huxley% ../trash/make-3.48/make -f gmake-bug
make: *** No way to make target `foo.c'.  Stop.
huxley% gcc -v
gcc version 1.35
huxley% which ../trash/make-3.48/make
../trash/make-3.48/make
huxley% 
------------------------------
~/c/gmake-bug:
------------------------------
# Suspected bug in GNU Make version 3.48.
# "make all" fails with the message:
# gmake: *** No way to make target `foo.c'.  Stop.
# I think it should succeed as it does when using Sun make.
# John D. Ramsdell -- June 1989.
# Note the use of "::"!  Obviously, this example does not call
# for the use of "::", but it is derived from one that does.

all:	foo
	foo
	rm foo foo.c

foo.c::
	echo 'main(){ printf("Hello world.\n"); return 0; }' > $@
--------------------------------------
I am running GNU make on both a Sun4 and Sun3 under SunOS4.0.
John