Date: Mon, 28 Jan 2008 02:59:44 +0200 From: Giorgos Keramidas <keramida@ceid.upatras.gr> To: Ivan Rambius Ivanov <rambiusparkisanius@gmail.com> Cc: freebsd-questions@freebsd.org Subject: Re: Slightly OT: Invoking a shell command from a Makeile Message-ID: <20080128005944.GA3072@kobe.laptop> In-Reply-To: <89ce7f740801271448x27371cf7lfe5255256fb498ec@mail.gmail.com> References: <89ce7f740801271448x27371cf7lfe5255256fb498ec@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On 2008-01-28 00:48, Ivan Rambius Ivanov <rambiusparkisanius@gmail.com> wrote:
> Hello,
>
> I am developing a FreeBSD port and I would like to invoke a shell
> command from it and assign its output to a variable. The command in
> question is
>
> # make -f /usr/ports/lang/fpc/Makefile -V PORTVERSION
>
> and I have verified that it works on the command line.
>
> I try to use it in my port's Makefile in the following way:
>
> FPCVERSION= `make -f /usr/ports/lang/fpc/Makefile -V PORTVERSION`
>
> but it fails with the following error
>
> Syntax error: EOF in backquote substitution
Try the BSD-specific syntax which uses bang-equal assignment to grab the
output of a shell command and assign it to a make variable:
FPCVERSION!= shell cmd here
i.e. something like:
FPCVERSION!= make -f ${PORTSDIR}/lang/fpc/Makefile -V PORTVERSION
I'm curious though. Why do you have to find the value of the
{PORTVERSION} from a Ports makefile?
Perhaps there is already a `standard' feature of the Ports which can do
something similar. Have you asked around in freebsd-ports?
- Giorgos
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20080128005944.GA3072>
