如何在GNU make
Makefile中编写一个条件语句(在这里是Intel OS X vs Linux),以便我可以正确设置标志,而不需要最终用户在运行make -f
时指定Makefile?
编辑
我应该指定从包含shell命令的ifeq
语句中得到makefile错误,如果这个条件放在目标之外的话:
'commands commence before first target. Stop.'
您应该能够检查其中一个uname
变体的输出,然后根据它们选择不同的makefile
。
跑man uname
的细节。
根据你如何使用GNU make,你可以从shell
函数中获取信息,然后在这个变量上使用ifeq
:
platform=$(shell uname -o) ifeq ($(platform),Cygwin) defrule: echo I am running in Cygwin. else defrule: echo I am running elsewhere. endif
uname
是你的朋友。
$ uname -o GNU/Linux