2013-03-07 115 views
2

我从其他Makefile调用autogen.sh脚本,并从shell脚本调用此Makefile,如果我在这个更外部的脚本上设置变量VAR,我可以使用它通常在这个Makefile中,真正存在VAR并且已经定义了,但是当这个Makefile运行autogen.sh时,我不能在configure.in文件中使用变量VAR,获得这个(或者任何其他变量)的唯一方法是使用更多的export命令外壳。编号: pushd $(DIRNAME); \ 如果测试! -e Makefile;然后\ echo $ PKG_CONFIG_PATH; \ ./autogen.sh $(CONFIGURE_OPTIONS); \ fi; \ make; \ popd如何将shell变量传递给autogen.sh脚本

这是最好的方法吗?

在此先感谢

回答

2

可以明确地传递变量在autogen.sh调用:

PKG_CONFIG_PATH="$(PKG_CONFIG_PATH)" ./autogen.sh $(CONFIGURE_OPTIONS) 
2

您既可以按照建议从Idelic变量传递给autogen.sh明确作为命令的一部分:

PKG_CONFIG_PATH="$(PKG_CONFIG_PATH)" ./autogen.sh $(CONFIGURE_OPTIONS) 

或者,如果您有多个脚本和命令,请致电Makefile,你想了一堆的环境变量的出口从这个Makefile调用的任何命令,你可以只这些行添加到您的Makefile

export PKG_CONFIG_PATH="YOUR_PKG_CONFIG_PATH" 
export FOO="BLAH" 
export BAR="BLAH-BLAH" 
相关问题