Path: utzoo!utgpu!attcan!uunet!husc6!mailrus!ames!vsi1!wyse!mips!dce
From: dce@mips.COM (David Elliott)
Newsgroups: comp.unix.wizards
Subject: Re: Make & .cshrc
Message-ID: <3951@dunkshot.mips.COM>
Date: 27 Sep 88 14:55:31 GMT
References: <452@alice.marlow.uucp> <67870@sun.uucp> <67925@sun.uucp> <24946@ccicpg.UUCP> <128@cetia.UUCP>
Reply-To: dce@dunkshot.UUCP (David Elliott)
Organization: MIPS Computer Systems, Sunnyvale, CA
Lines: 25

In article <128@cetia.UUCP> chris@cetia.UUCP (Chris Bertin) writes:
>In article <24946@ccicpg.UUCP>, nick@ccicpg.UUCP (Nick Crossley) writes:
>> 
>> I personally like this feature/misfeature, as it allows me to invoke ksh.
>
>If 'make' had been modified to get its shell from a different variable (say
>'MAKESHELL', for example), no existing makefiles would have been broken and
>you would still be able to use a different shell. It is a misfeature.

This still doesn't make it.  If I write my makefile such that is requires
sh and you set MAKESHELL to '/bin/csh', there's still a problem.

It's even worse if you are some influential customer of mine and you
decide to force the issue ("Well, things shouldn't break just because
I change my MAKESHELL variable, so you have to fix all 759 makefiles
in your source").

The only obviously correct solution is to say that make defaults to
using sh, and will use an alternate shell if specified in the makefile
itself.  After all, the makefile is written with a shell in mind, so
adding the assignment of SHELL if it's not the default makes the
makefile "self-documenting".

-- 
David Elliott		dce@mips.com  or  {ames,prls,pyramid,decwrl}!mips!dce