Somewhat OT - A Makefile Question

parv at pair.com parv at pair.com
Fri Jun 8 05:02:37 UTC 2012


in message <4FD0ADFB.8030508 at tundraware.com>,
wrote Tim Daneliuk thusly...
>
> On 06/07/2012 12:19 AM, Parv wrote:
> > in message<4FCF48AF.307 at 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`
...
> Thanks.

Happy to help.


> I came up with something similar, but I think your recipe is a bit
> more elegant ...

It was "If both exist, I will pick one arbitrarily ... " that
helped much in modification of the original.


  - parv

-- 



More information about the freebsd-questions mailing list