From: Phillip S. <ps...@cf...> - 2002-01-31 04:36:48
|
If you use paths with windows style \ instead of / in them, and you have sh installed on your system, make will run sh instead of your real shell ( command.com or cmd.exe ) and sh will barf on the paths with \ in them because \ is the escape char in sh. This seems like a bug in make. Couldn't make just double escape all \ chars found in the command line passed to sh with a second \, and then sh would be happy? I would like to not have to remove sh from my path when using make, and also make MUST use sh in order to do paralell builds ( I have SMP ). |
From: <dan...@ya...> - 2002-01-31 07:24:19
|
--- Phillip Susi <ps...@cf...> wrote: > If you use paths with windows style \ instead of / in them, and you have > sh > installed on your system, make will run sh instead of your real shell ( > command.com or cmd.exe ) and sh will barf on the paths with \ in them > because \ is the escape char in sh. This seems like a bug in > make. Couldn't make just double escape all \ chars found in the command > line passed to sh with a second \, and then sh would be happy? It does. However, make also puts quotes as \" which cygwin sh.exe barfs on (cygwin sh likes "" ). Thats how the \ get into the command line. The safest options are: Use cygwin make with cygwin sh. Or use msys make with msys sh. It is easy enough to build make so that it covers some of the make-sh incomapatibilities by writing out command lines to script files for use by either sh or cmd. I will upload that soon. But I still think the best options are the ones above. > I would like to not have to remove sh from my path when using make, and > also make MUST use sh in order to do paralell builds ( I have SMP ). > > > _______________________________________________ > MinGW-users mailing list > Min...@li... > > You may change your MinGW Account Options or unsubscribe at: > https://lists.sourceforge.net/lists/listinfo/mingw-users http://my.yahoo.com.au - My Yahoo! - It's My Yahoo! Get your own! |
From: Joerg B. <jo...@sq...> - 2002-01-31 08:45:50
|
Hi! Phillip Susi wrote: > > If you use paths with windows style \ instead of / in them, and you have sh > installed on your system, make will run sh instead of your real shell ( > command.com or cmd.exe ) and sh will barf on the paths with \ in them > because \ is the escape char in sh. I am quite happy running a Unix-like shell ("zsh", in my case) with GNU "make" and other Unix-style tools ("sed", "tr", ...) in a MinGW environment (no Cygwin installed). I simply use "/" as a separator in all places. > This seems like a bug in > make. Couldn't make just double escape all \ chars found in the command > line passed to sh with a second \, and then sh would be happy? And what about those who have Unix style command lines which already need the backslash as an escape sign, like when passing special characters to "tr" or escaping some character in a regular expression for "sed" etc.? I assume your proposal would break my "Makefile"s, I am ready to post examples if wanted. IMO, the fault is in using the backslash as a separator. > > I would like to not have to remove sh from my path when using make, and > also make MUST use sh in order to do paralell builds ( I have SMP ). I use identical "Makefile"s on all my Unix/Linux platforms and MinGW, and they contain shell commands (Bourne style) for "zsh" which then calls the Unix style tools, so that is no problem. Just use the proper separator! Regards, Joerg Bruehe -- Joerg Bruehe, SQL Datenbanksysteme GmbH, Berlin, Germany (speaking only for himself) mailto: jo...@sq... |
From: Benjamin R. <Ben...@ep...> - 2002-02-02 17:06:30
|
Hi Phillip, Phillip Susi <ps...@cf...> writes: > If you use paths with windows style \ instead of / in them, and you > have sh installed on your system, make will run sh instead of your > real shell ( command.com or cmd.exe ) and sh will barf on the paths > with \ in them because \ is the escape char in sh. You may want to try "make --win32". With that option make should use CMD.EXE and your paths should be understood. so long, benny |