From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chad Loder To: cygwin@sourceware.cygnus.com Subject: Cygpath, backslashes, and sh.exe Date: Tue, 03 Oct 2000 17:53:00 -0000 Message-id: <200010040051.e940pxh07139@laxmls02.socal.rr.com> References: <200010032006.e93K6ih16791@laxmls02.socal.rr.com> <200010032207.e93M7bh18034@laxmls02.socal.rr.com> <003101c02d8c$500db1c0$3c5350d8@guinness> X-SW-Source: 2000-10/msg00086.html Hi all. Thanks for your help with cygpath (I *did* look in the FAQ, I just didn't know what to look for). :) cygpath *seems* to be doing the right thing (it's hard to tell), but there is some sort of problem with backslashes. I have a rule like this: %.obj : %.cpp $(CC) $(CPPFLAGS) $(shell cygpath -w $<) The idea is that this will invoke sh.exe with something like: /c/VC98/bin/cl.exe /Fo:globref.obj c:\r7\jni\src\globref.cpp But instead it seems to do: /c/VC98/bin/cl.exe /Fo:globref.obj c:r7jnisrcglobref.cpp which causes the compiler to bomb out with: fatal error C1083: Cannot open source file: 'c:r7jnisrcglobref.cpp': No such file or directory I figured I need to escape the backslashes before passing them to a shell command. So I tried things like: %.obj : %.cpp $(CC) $(CPPFLAGS) $(subst,\\,\\\\,$(shell cygpath -w $<)) but the subst function seems to just return an empty string (this happens even when I use something without backslashes, like $(subst,a,b,whatever). Has anyone run into this? Thanks, c c At 05:50 PM 10/3/2000 -0500, you wrote: >Chad: > > Hey, no problem. Let me know if you run into other problems. My >company uses it's own make system under cygwin as well. We also use Visual >C++ as the compiler. > >cheers, >-Matt -- Want to unsubscribe from this list? Send a message to cygwin-unsubscribe@sourceware.cygnus.com