Make & .cshrc

Scott Wilson swilson%thetone at Sun.COM
Tue Sep 13 07:28:46 AEST 1988


In article <67870 at sun.uucp> guy at 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 at 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.



More information about the Comp.unix.wizards mailing list