Date: Tue, 26 May 1998 19:18:47 +0300 (IDT) From: Eli Zaretskii To: Ruiter de M cc: djgpp AT delorie DOT com Subject: Re: MAKE with BASH In-Reply-To: <6kblf4$24n$1@star.cs.vu.nl> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Precedence: bulk On 25 May 1998, Ruiter de M wrote: > Now we are at it, can't we force Make to use Bash (if available)? No, AFAIK, you can't, not without rewriting the Makefile. You can only force Make to invoke Bash for those commands which need a shell. But if Make decides that a command can be invoked directly, it won't call any shell. > I hate it when, for instance, configure figures out that > //j/bin/ginstall.exe is my GNU-install and Make fails to run it > (because it doesn't know about the //d/* Bash extension). You shouldn't need to struggle with these problems in the first place. If you set PATH_SEPARATOR=:, always set PATH_EXPAND=y as well. This will cause Bash to convert the pathnames back to the usual DOS d:/foo/bar form when it invokes external program (make.exe is an external program). The //d/foo feature and PATH_SEPARATOR=: are only designed to make Unix shell scripts which take PATH apart work. You shouldn't be using them in your general-purpose day-to-day work, since it is unsupported by the core DJGPP library functions. (A recent poll between DJGPP developers on whether to add this support to DJGPP's libc was met with mixed feelings, so most probably it won't be added.) > I noticed the MAKESHELL-variable somewhere. Just what does it do > _exactly_? It has the same effect as SHELL, but takes precedence over SHELL. It is designed for those cases where people have SHELL defined for other tools, and the value of SHELL is not good for Make. (The description is in README.dos file inside the Make distribution, and also in the Info docs, under "Command Execution".) > I have had some problems with makefiles using Bash that > worked without MAKESHELL but not with it. Please tell what were the problems, and how did you set MAKESHELL.