I did a CVS checkout of gmake on this date:
checkout date: 2009-12-30 16:00
$ cat CVS/Root
:pserver:address@hidden:/sources/make
$ cat CVS/Repository
make
I have the cygwin built make renamed to make.orig:
$ make.orig --version
GNU Make 3.81
$ make --version
GNU Make 3.81.90
I create some small makefiles, one with () in the file name:
$ cat "foo.make"
include bar(x).make
$ cat "bar(x).make"
foo(x)/tada:
@echo tada
Works with original make:
$ make.orig -f "bar(x).make" "foo(x)/tada"
tada
Fails with cvs make:
$ make -f "bar(x).make" "foo(x)/tada"
make: *** No rule to make target `foo(x)/tada'. Stop.
Works with original make:
$ make.orig -f "foo.make"
tada
Fails with CVS make:
$ make -f "foo.make"
foo.make:1: x).make): No such file or directory
make: *** No rule to make target `x).make)'. Stop.