The right way to invoke sh from a freebsd makefile?

Glen Barber gjb at FreeBSD.org
Sun Sep 22 23:27:13 UTC 2013


On Sun, Sep 22, 2013 at 05:18:25PM -0600, Ian Lepore wrote:
> What's the right way to launch the bourne shell from a makefile?  I had
> assumed the ${SHELL} variable would be set to "the right" copy
> of /bin/sh (like maybe the one in tmp or legacy at various stages).  It
> appears that that's not the case, and ${SHELL} is whatever comes from
> the environment, which can lead to using csh or bash or whatever.
> 
> I see some of our makefiles use just a bare "sh" which seems reasonable
> to me, but I don't want to glitch this in src/include/Makefile again.
> The goal is to run a script in src/include/Makefile by launching sh with
> the script name (as opposed to launching the script and letting the #!
> do its thing, which doesn't work if the source dir is mounted noexec).
> 

I think BUILDENV_SHELL is what you are looking for.  For this specific
case, I think instead of '#!/bin/sh', maybe '#!/usr/bin/env sh' may be
preferable.

Glen

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 488 bytes
Desc: not available
URL: <http://lists.freebsd.org/pipermail/freebsd-current/attachments/20130922/2eee132d/attachment.sig>


More information about the freebsd-current mailing list