This is the mail archive of the cygwin@sourceware.cygnus.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

RE: Re: Make problem


I believe that I had a similar problem with the b20 make distribution. 
To correct it I downloaded, built, and installed the latest make 
distribution. Configure and make work out of the box. Install doesn't 
because "make install" looks for "make" instead of "make.exe". To 
correct the problem for make and other gnu packages, go to 
http://www.delorie.com/archives/browse.cgi?p=cygwin/1998/11/15/04:47:59, an 
article in the cygwin email archives. This will tell you how to fix up 
"make install". This ought to be in a faq some where but I don't know 
if it is. Hope this helps. 

-----Original Message-----
From: charlie [mailto:charlie@hand-family.org]
Sent: Tuesday, February 29, 2000 4:19 PM
To: cygwin
Cc: charlie
Subject: FW: Re: Make problem


> At 10:16 AM 2/29/00 -0800, Charlie Hand wrote:
> >> I'm running bash 2.06 on Windows98.
> >> 
> >> I'm trying to learn how to use make in this environment.
> >> 
> >> Every time make tries to execute a command, it says:
> >> /c: /c: No such file or directory
> >> 
> >> It gives this same message regardless of the command.
> >> 
> >> For example, for the following small makefile:
> >> 
> >> SHELL = bash
> >> ProjectX::
> >> 	echo hello
> >> 
> >> The output is:
> >> 
> >> "C:/cygnus/cygwin-b20/H-i586-cygwin32/bin/bash.exe"-2.02$ make
> >> echo hello
> >> /c: /c: No such file or directory
> >> make: *** [ProjectX] Error 127
> >> 
> >> I can run the command "echo hello" at the bash prompt, and it runs 
> >> correctly. In general, I can run commands in the shell, and never 
> >> have any problems, nor do I ever see this "/c: /c:" thing.
> >> 
> >> I've tried the --win32 switch, and it doesn't make any difference.
> >
> >I removed the SHELL=bash assignment, and it works correctly. It 
> >even appears to be running commands in bash.
> >
> 
> This is  what is happening, Charlie. You are running Cygnus make in 
its
> win32 mode. In this mode, make uses the DOS command shell switch /c to
> launch commands. However, you then tell make to use bash as the 
SHELL. In
> win32 mode, make does know anything about Unix shells. So it 
continues to
> use /c as the command switch even though it is now using unknowingly 
a Unix
> shell. Thus, in effect with your little make file, make is doing
> 
> bash /c "echo hello"
> 
> Now, if you don't believe me, fire up bash in Emacs and enter 
> 
> bash -c "echo hello"
> 
> and then
> 
> bash /c "echo hello"
> 
> and observe the output of make in each case. You will note that in the
> latter case the error message is exactly the one you are getting. If 
you
> want to use bash as your make shell, you have to run make in Unix 
mode,
> which you do by setting the Cygnus environment variable MAKE_MODE to 
Unix.
> This BTW is in the FAQ item that I posted in response to your plea 
for any
> information on the Cygnus version of make and that you then cavalierly
> dismissed as obvious. 

The result is the same for:

MAKE_MODE=UNIX
SHELL=bash
target::
	ls

or

SHELL=bash
target::
	ls

The only way to run simple commands such as "ls" or "echo hello"
was to delete SHELL=bash.

-Charlie

--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe@sourceware.cygnus.com


--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe@sourceware.cygnus.com

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]