Re: variables from shell output in makefile
On (24/11/06 16:04), andremachado wrote:
> Hello,
> I am trying to create a rudimentary package for php-java-bridge.sf.net.
> The problem now is that makefiles does not accept regular bash commands and
> need different sintax. Also, Policy define to avoid "bashisms".
Bashims are in maintainer scripts and the like, not Makefiles. It is
usual to avoid bashims in the code called in a $(shell) construct
though.
> Reading
> http://www.gnu.org/software/make/manual/make.html#Shell-Function
> I found the "$(shell command parms)" .
> But it still leaving EXT_DIR empty.
> Please, what am I doing wrong?
>
> # EXT_DIR=`/usr/bin/php-config --extension-dir`;
> EXT_DIR = $(shell /usr/bin/php-config --extension-dir);
You don't need the semicolon at the end, but I have just tried something
similar and it worked. You might want to use := rather than = though.
>
> mkdir -p ${CURDIR}/debian/php-java-bridge/var/lib/tomcat5/webapps; \
> cp ${CURDIR}/debian/php-java-bridge/${EXT_DIR}/JavaBridge.war
> ${CURDIR}/debian/php-java-bridge/var/lib/tomcat5/webapps;
>
And the result is that ${EXT_DIR} is empty? Some obvious things to rule
out.
1) /usr/bin/php-config --extension-dir produces no output
2) It produces output on stderr (I believe this wont be caught.
3) The value is overriden by the environment.
I hope this helps, but if not someone with more make skills might be
able to help.
James
--
James Westby -- GPG Key ID: B577FE13 -- http://jameswestby.net/
seccure key - (3+)k7|M*edCX/.A:n*N!>|&7U.L#9E)Tu)T0>AM - secp256r1/nistp256
Reply to: