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>