From owner-freebsd-hackers@FreeBSD.ORG Sun Sep 22 23:27:13 2013 Return-Path: Delivered-To: freebsd-hackers@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTP id 1CFE21D2; Sun, 22 Sep 2013 23:27:13 +0000 (UTC) (envelope-from gjb@FreeBSD.org) Received: from mail0.glenbarber.us (mail0.glenbarber.us [208.86.227.67]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id E59162ED5; Sun, 22 Sep 2013 23:27:12 +0000 (UTC) Received: from glenbarber.us (c-71-224-221-174.hsd1.nj.comcast.net [71.224.221.174]) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) (Authenticated sender: gjb) by mail0.glenbarber.us (Postfix) with ESMTPSA id 9E08B4ED2; Sun, 22 Sep 2013 23:27:11 +0000 (UTC) DKIM-Filter: OpenDKIM Filter v2.8.3 mail0.glenbarber.us 9E08B4ED2 Authentication-Results: mail0.glenbarber.us; dkim=none reason="no signature"; dkim-adsp=none Date: Sun, 22 Sep 2013 19:27:10 -0400 From: Glen Barber To: Ian Lepore Subject: Re: The right way to invoke sh from a freebsd makefile? Message-ID: <20130922232710.GD2336@glenbarber.us> References: <1379891905.1197.115.camel@revolution.hippie.lan> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="Km1U/tdNT/EmXiR1" Content-Disposition: inline In-Reply-To: <1379891905.1197.115.camel@revolution.hippie.lan> X-Operating-System: FreeBSD 10.0-ALPHA2 amd64 User-Agent: Mutt/1.5.21 (2010-09-15) Cc: FreeBSD Hackers , freebsd-current X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Sep 2013 23:27:13 -0000 --Km1U/tdNT/EmXiR1 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable 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. >=20 > 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). >=20 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 --Km1U/tdNT/EmXiR1 Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.21 (FreeBSD) iQEcBAEBCAAGBQJSP3zOAAoJEFJPDDeguUajdYEH/AqxeG19/GGa9zYHLmaqxr+4 sjDJ9Y++f99y+1XLTRdjwPZWRY/8g/nMpXEs42y+HP1Ap2CTdlyCom+i//cQUQSL DKGfJosGErZpuEIxXHXeou7LKg1mNtKNHe+JW0O5vC9GWOFB+9D1y6iR9RHX9V/l LLQIC9h7jRJAoqLMJ24f2y6zgYWjaMqEvSHNS6+756y126QxjY058bTHDg1stOIE WoLRaYydLhDWp80go6m0Os34VRks/HgcKOCCi6RBQi7BV/pu7303vchamSOxCW5W ACOjGtXBP7jM44MQzHf6KmKLeoBffTSqY5VzZyHxpTYqTmwPpTNi7/YdMtOhUT8= =PS+8 -----END PGP SIGNATURE----- --Km1U/tdNT/EmXiR1--