> Date: Tue, 13 Jun 2006 07:25:30 -0500 > From: Bill McCarthy <[EMAIL PROTECTED]> > > ------------------------------------- > .PHONY: clean > clean: > @echo SHELL = $(SHELL) > @echo COMSPEC = $(COMSPEC) > [EMAIL PROTECTED] /? > ------------------------------------- > > If I just type make, the output is: > > ------------------------------------- > SHELL = sh.exe > COMSPEC = C:\util\4nt\4nt.exe > The help info for CMD's del > ------------------------------------- > > Running: make SHELL=4nt.exe > > ------------------------------------- > SHELL = 4nt.exe > COMSPEC = C:\util\4nt\4nt.exe > The help info for CMD's del > ------------------------------------- > > Everything I've tried thus far, results in CMD.EXE being > used as my SHELL. > > Is there a way, that works, to choose the shell desired?
With Make 3.80, there's no way to do that. It simply didn't support any shells other than sh.exe and cmd.exe. With Make 3.81, it should be possible (looking at the code, I don't have 4nt installed to actually try that), but Make will treat anything that isn't cmd.exe as a Unixy shell, so the commands might not work as you expect. For example, I expect Make to invoke shell commands with "4nt -c COMMAND", not "4nt /c COMMAND". I don't know what that will do to 4nt. To have a proper support for 4nt part of Make, someone who knows enough intimate details about 4nt will have to submit a patch that sets sh_chars and sh_cmds (in job.c) to the correct values, and also make sure that the code in job.c:construct_command_argv_internal does the right thing for 4nt. _______________________________________________ Make-w32 mailing list [email protected] http://lists.gnu.org/mailman/listinfo/make-w32
