delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1997/08/28/05:56:29

Date: Thu, 28 Aug 1997 12:53:36 +0300 (IDT)
From: Eli Zaretskii <eliz AT is DOT elta DOT co DOT il>
To: Davin Pearson <davin AT cosc DOT canterbury DOT ac DOT nz>
cc: djgpp AT delorie DOT com
Subject: Re: Why does make ignore SHELL=bash?
In-Reply-To: <5u0td1$k86$1@cantuc.canterbury.ac.nz>
Message-ID: <Pine.SUN.3.91.970828124046.10704L-100000@is>
MIME-Version: 1.0

On 27 Aug 1997, Davin Pearson wrote:

> The problem is that DJ's make utility seems to ignore the
> SHELL=bash declaration and prevents me from using all of bash's
> cool features.  It also makes it a royal pain converting UNIX
> makefiles to DJGPP.

Unix-like shells (such as Bash) *are* supported in the port of Make 3.75 
(get v2gnu/mak375b.zip from the DJGPP archives).  After that, you need to 
do this:

	set SHELL=c:/djgpp/bin/bash.exe
	make

(change c:/djgpp/bin to the directory where you put bash.exe).
That's it!  The Unix Makefiles should now work because Make will call 
Bash when it sees a shell feature used in a command.

Alternatively, if the Makefile says "SHELL = /bin/sh", you need to make a
``symlink'' to bash.exe called sh.exe and place them both somewhere on
your PATH, like so:

	cd c:\djgpp\bin
	stubify -g sh.exe
	stubedit sh.exe runfile=bash

Of course, you will also need to install the ports of Unix programs that 
are called by the Makefile, such as cp, rm, cat, echo, sed etc.  All of 
them are available in the v2gnu directory from the DJGPP archives (get 
fil316b.zip, txt122b.zip, shl112b.zip, sed118b.zip).  Some Makefiles need 
cmp; you can get it from the Diffutils package, v2gnu/dif271b.zip.

Additional info about Unix shell compatibility can be found in the 
README.DOS file in the Make distribution.  Due to a sad omission, this 
file is only in the source zip, so you will need to download mak375s.zip 
as well :-(.  (The next version of GNU Make will document the 
DOS-specific aspects in the on-line manual.)

If the above setup doesn't work for you, please post the details (Makefile
fragments, error messages, etc.).  This method is in use for the past
several months by several heavy DJGPP users, and it works.  We were able
to build complex GNU packages using the original Makefiles. 

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019