Sun 28 Feb 2010 10:35:47 AM UTC, original submission:
I was notified of this bug by someone who was trying
to build cmake-2.8.0 for mingw-w64:
http://sourceforge.net/projects/mingw-w64/forums/forum/723798/topic/3551522
I reduced the testcase to this:
ls -R SubDirSpaces
SubDirSpaces:
err.txt Makefile Some(x86) Sources
SubDirSpaces/Some(x86) Sources:
CMakeFiles
SubDirSpaces/Some(x86) Sources/CMakeFiles:
testOddPath.dir
SubDirSpaces/Some(x86) Sources/CMakeFiles/testOddPath.dir:
build.make
$ cd SubDirSpaces && cat Makefile
all:
$(MAKE) -f "Some(x86) Sources\CMakeFiles\testOddPath.dir\build.make" "Some(x86) Sources/CMakeFiles/testOddPath.dir/build"
$ cat Some\(x86\)\ Sources/CMakeFiles/testOddPath.dir/build.make
Some(x86)\ Sources/CMakeFiles/testOddPath.dir/build:
@echo Hey I am here!!!
With the CVS version of make (a binary for mingw-w64 is here
http://sourceforge.net/projects/mingw-w64/files/External%20binary%20packages%20%28Win64%20hosted%29/make/make_20100202_bin.zip/download )
.. I get this error on windows:
C:\Users\ozzie\CODE\SubDirSpaces>make
make -f "Some(x86) Sources\CMakeFiles\testOddPath.dir\build.make" "Some(x86) Sou
rces/CMakeFiles/testOddPath.dir/build"
make[1]: Entering directory `C:/Users/ozzie/CODE/SubDirSpaces'
make[1]: *** No rule to make target `Some(x86) Sources/CMakeFiles/testOddPath.di
r/build'. Stop.
make[1]: Leaving directory `C:/Users/ozzie/CODE/SubDirSpaces'
make: *** [all] Error 2
However, with an earlier version of make, specifically
make-3.81-20090914-mingw32 (patched further for mingw-w64:
http://sourceforge.net/projects/mingw-w64/files/External%20binary%20packages%20%28Win64%20hosted%29/make/make-3.81-20100227.zip/download )
.. the process succeeds:
C:\Users\ozzie\CODE\SubDirSpaces>make
make -f "Some(x86) Sources\CMakeFiles\testOddPath.dir\build.make" "Some(x86) Sou
rces/CMakeFiles/testOddPath.dir/build"
make[1]: Entering directory `C:/Users/ozzie/CODE/SubDirSpaces'
Hey I am here!!!
make[1]: Leaving directory `C:/Users/ozzie/CODE/SubDirSpaces'
The same error with the CVS version of make also happens
on linux if I replace the backslashes with forward slashes
in the relevant places in the makefiles. I was unable to
find when the breakage occured in the CVS.
Regards.
|