This is the mail archive of the
cygwin@sources.redhat.com
mailing list for the Cygwin project.
Cygpath, backslashes, and sh.exe
- To: cygwin at sourceware dot cygnus dot com
- Subject: Cygpath, backslashes, and sh.exe
- From: Chad Loder <cloder at acm dot org>
- Date: Tue, 03 Oct 2000 17:54:38 -0700
- References: <200010032006.e93K6ih16791@laxmls02.socal.rr.com><200010032207.e93M7bh18034@laxmls02.socal.rr.com>
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