Date: Thu, 07 Jun 2012 08:34:51 -0500 From: Tim Daneliuk <tundra@tundraware.com> To: FreeBSD Mailing List <freebsd-questions@freebsd.org> Subject: Re: Somewhat OT - A Makefile Question Message-ID: <4FD0ADFB.8030508@tundraware.com> In-Reply-To: <20120607051901.GA2205@holstein.holy.cow> References: <4FCF48AF.307@tundraware.com> <20120607051901.GA2205@holstein.holy.cow>
next in thread | previous in thread | raw e-mail | index | archive | help
On 06/07/2012 12:19 AM, Parv wrote:
> in message<4FCF48AF.307@tundraware.com>,
> wrote Tim Daneliuk thusly...
>>
> ...
>> Within a makefile, I need to assign the name of a program as in:
>>
>> FOO = "bar".
>>
>> The problem is that 'bar' may also be know as, say, "bar.sh".
> ...
>> Is there a simple way to determine which form "bar" or "bar.sh" on
>> on a given system *at the time the make is run*? If both exist, I
>> will pick one arbitrarily,
> ...
>> For example I don't think this works when both are there:
>>
>> FOO = $(shell `which bar bar.sh)
>
> Modify the subshell command to ...
>
> which bar bar.sh | head -n 1
>
>
> ... as in (for FreeBSD make) ...
>
> shell=`which zsh sh tcsh csh 2>/dev/null | fgrep -v 'not found' | head -n 3`
>
> all:
> @printf "%s\n" ${shell}
>
>
>
> - parv
>
Thanks. I came up with something similar, but I think your recipe is a bit
more elegant ...
--
----------------------------------------------------------------------------
Tim Daneliuk tundra@tundraware.com
PGP Key: http://www.tundraware.com/PGP/
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4FD0ADFB.8030508>
