Date: Tue, 7 Apr 1998 11:22:56 +0300 (IDT) From: Eli Zaretskii To: Kbwms cc: djgpp AT delorie DOT com Subject: Re: Possible Problem with Make In-Reply-To: <29b61693.3528fca9@aol.com> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Precedence: bulk On Mon, 6 Apr 1998, Kbwms wrote: > Report bugs to . > > That address to report bugs can't be right, can it? Why not? It's exactly right. However, bug reports that seem to be peculiar to the DJGPP port or specific to DOS/Windows platforms (like it is in your case) should be posted here first, as explained in the file README.dos which comes with the Make distribution. So you did the right thing. > I am getting Error -1 but I don't know how to decipher that. "Error -1" usually means that Make was unable to find a file or a program it needs to run. > makedep: > mkdep $(SOURCE_NAMES) > > Make should be trying to launch a shell command, mkdep.sh. Problem > is, make can't find it. You didn't post enough info to unlock the cause of the problem, so I can only guess what could happen. To fully understand this, I need to know what mkdep.sh says and whether it is in the current directory or on the PATH. One possibility is that mkdep.sh doesn't have the string "#!/bin/sh" on its first line. Without that line, Make will not know that this is a shell script, and will not know how to run it. Another possible cause is that mkdep.sh *was* run, but some part of it failed and caused the entire script to fail with exit code of -1 which was then returned to Make. > The following are defined: > > MAKESHELL = c:/usr/bin/sh.exe > SHELL = c:/usr/bin/sh.exe I think these variables don't affect this case at all, unless $(SOURCE_NAMES) includes shell wildcards. GNU Make doesn't call the shell at all unless the command seems to require it. So I assume that Make is invoking mkdep.sh directly, not through the shell. (The underlying library functions called by Make *will* of course need to call the shell, but they don't use the above variables as well.) What you do need is to have C:\USR\BIN on your PATH. But this line > sh mkdep $(SOURCE_NAMES) which works, seems to indicate that it is already on your PATH. > This is what I had to do under the previous version of make (3.75). Make 3.76.1 didn't change anything in neither how shell scripts are run nor how Unix-style shells are supported. So both of these versions will work or fail in the same way in your case.