Hello everybody. I think I've found a bug in GNU make, apparently due to the interaction of VPATH and filenames with double-slash `//'.
Here is an excerpt showing the most relevant part of the bug: $ cat Makefile VPATH = .. foo_OBJECTS = ./src//foo.o foo: $(foo_OBJECTS) $(CC) -o $@ $(foo_OBJECTS) .c.o: $(CC) -c -o $@ $< $ ls ../src foo.c $ make make: *** No rule to make target `src//foo.o', needed by `foo'. Stop. Changing the definition of `foo_OBJECTS' to `./src/foo.o' solves the problem. A complete script that reproduces the bug is attached. The script fails with GNU make (versions 3.79, 3.80 and 3.81) on Debian GNU/Linux and with GNU make 3.81 on Solaris 10. On the other hand, it passes with Solaris 10's /usr/ccs/bin/make and with FreeBSD make. Let me know if you need more details. Regards, and thanks for all your work on GNU make. Stefano
gmake-bug.sh
Description: application/shellscript
_______________________________________________ Bug-make mailing list Bug-make@gnu.org http://lists.gnu.org/mailman/listinfo/bug-make