我有這個make文件使用使內置shell函數變量在一個Makefile
all : CONFIG=config.ini
debug : CONFIG=config-debug.ini
CONFIG_FILES := $(shell python parse_config.py -i $(CONFIG))
all: $(CONFIG) $(CONFIG_FILES)
echo $(CONFIG) $(CONFIG_FILES)
當我運行make all
這表明一些Python錯誤說-i
選項參數是丟失。所以看來$(CONFIG)
沒有經歷shell
的功能。
make all
如何調用python parse_config.py -i 'config.ini'
?
相同的方式make debug
調用python parse_config.py -i 'config-debug.ini'
?
更新:
運行make all SHELL+=-x
後,我得到下面的輸出。
+ python parse_config.py -p static -i
usage: parse_config.py [-h] -i INPUT_JSB3 [-p PREFIX]
parse_config.py: error: argument -i: expected one argument
但在那之後,我得到
+ python parse_config.py -p static -i static/config.ini
並作出似乎繼續工作。
有關'遞歸變量'的任何示例? –
正常的'='賦值是''遞歸擴展變量'與賦值爲':='的簡單擴展變量相比。 –
那麼只使用'='不會改變行爲。 –