如何将shell变量传递给autogen.sh脚本

时间:2013-03-07 22:35:04

标签: shell makefile configure autoconf

我从其他Makefile调用autogen.sh脚本,并且从shell脚本调用此Makefile,如果我在这个更外部的脚本上设置变量VAR,我可以使用它 - 它通常在这个Makefile中,真的VAR存在并且是定义,但是当这个Makefile运行autogen.sh我不能在configure.in文件中使用变量VAR时,获取此(或任何其他变量)的唯一方法是在更多外部shell中使用export命令。

编译:     pushd $(DIRNAME); \     如果测试! -e Makefile;然后 \         echo $ PKG_CONFIG_PATH; \         ./autogen.sh $(CONFIGURE_OPTIONS); \     网络连接; \     使; \     POPD

这是最好的方法吗?

提前致谢

2 个答案:

答案 0 :(得分:3)

您可以按照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"

答案 1 :(得分:2)

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

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