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>