我有以下Makefile:
:PHONY Darwin Xcode Linux Cygwin
all: `uname`
Cygwin:
echo "Making Cygwin"
Scripts/Make/MakeCygwin.sh
Linux:
echo "Making Linux"
Scripts/Make/MakeLinux.sh
Darwin:
echo "Making Darwin"
Scripts/Make/MakeDarwin.sh
Xcode:
echo "Making Xcode"
Scripts/Make/MakeXcode.sh
然而它不起作用:
$ make
make: *** No rule to make target ``uname`', needed by `all'. Stop.
事实证明,uname
命令未执行。有谁知道如何让它发挥作用?
答案 0 :(得分:1)
这样的事情应该有效:
UNAME=$(shell uname)
all: ${UNAME}
您可以在此处找到更多有用的功能:http://www.jfranken.de/homepages/johannes/vortraege/make_inhalt.en.html#ToC11
答案 1 :(得分:1)
GNU make的函数扩展允许你使用$(shell uname)。