我想寫一個Makefile來評估Bash命令的結果,例如uname
。Makefile ifeq在OS X上使用Bash命令
的Makefile:
OS1 = $(uname)
OS2 = Darwin
all:
@echo $(value OS1)
ifeq ($(uname),Darwin)
@echo "OK"
else
@echo "Fail"
endif
ifeq ($(OS1),Darwin)
@echo "OK"
else
@echo "Fail"
endif
ifeq ($(OS2),Darwin)
@echo "OK"
else
@echo "Fail"
endif
輸出:
Darwin
Fail
Fail
OK
我如何比較的ifeq
內部變量OS1
或命令$(uname)
字面Darwin
?從我讀過的內容來看,我的Makefile中的第二個ifeq
應該可以工作,但事實並非如此。
我在OS X 10.9.3上對i386-apple-darwin11.3.0使用GNU Make 3.81。
正確的'shell'但是'OS = $(shell uname)'很好。 –