Path: utzoo!attcan!uunet!lll-winken!lll-tis!mordor!joyce!ames!oliveb!sun!thetone!swilson From: swilson%thetone@Sun.COM (Scott Wilson) Newsgroups: comp.unix.wizards Subject: Re: Make & .cshrc Message-ID: <67925@sun.uucp> Date: 12 Sep 88 21:28:46 GMT References: <452@alice.marlow.uucp> <67870@sun.uucp> Sender: news@sun.uucp Reply-To: swilson@sun.UUCP (Scott Wilson) Organization: Sun Microsystems, Mountain View Lines: 30 In article <67870@sun.uucp> guy@gorodish.Sun.COM (Guy Harris) writes: >The SunOS "make" always uses the Bourne shell to execute commands. If there are no shell metacharacters, the command is invoked directly and no shell is involved. From the SunOS 4.0 make man page: The SHELL macro, when set to a single-word value such as /usr/bin/csh, indicates the name of an alternate shell to use. Note: make executes commands containing no shell meta- characters directly. Builtin commands, such as dirs in the C shell, are not recognized unless the command line includes a metacharacter (for instance, a semicolon). An interesting question is are there C shell metacharacters that are not Bourne shell metacharacters? And what if you wanted make to use a custom shell that had different metacharacters? Seems like make should always call the shell if it's specified to be something other than /bin/sh or /bin/csh. BTW, a quick look at the source suggests (to me) that make is looking for: # | = ^ ( ) ; & < > * ? [ ] : $ ` ' " \ as a shell metacharacter. -- Scott Wilson arpa: swilson@sun.com Sun Microsystems uucp: ...!sun!swilson Mt. View, CA "It's the end of the world as we know it, and I feel fine." -R.E.M.