[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: