我想写一个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)'很好。 –