2013-03-07 112 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" 
相關問題