Failure to execute 'csh'-commands from 'make'

Dave Olson olson at fortune.UUCP
Wed Aug 14 06:23:07 AEST 1985


1) Setting SHELL=/bin/csh in the makefile (for 'augmented make') will
NOT cause all shell scripts to be run by the csh.  It WILL cause
extra overhead for sh scripts, as csh will look at the file, determine
it doesn't start with a '#', and exec /bin/sh to run it.  For Bourne
shell scripts that start with a '#', there are problems (which have
been hashed out here many times ...)

2) Not all systems yet support the #! syntax, not even all those that
have csh!

3) Someone asked how to force make to run the shell for command lines
like 'if test ...'.  Remember that make parses the command lines to
determine if they have shell meta-characters, and tries to exec the
command directly if none are found.  To force make to exec the shell,
add a ';' somewhere in the command line (or some other shell
meta-character).  [The actual meta-characters make checks for probably
vary from site to site, and version to version.]

	Dave Olson, Fortune Systems



More information about the Comp.unix mailing list