试图让GNU make 3.81内置函数正常工作 但不断收到错误信息。GNU make内置函数不能正常工作
我建了一个简单的makefile:
FOO=bar
$(info $(FOO) $(origin FOO))
$(firstword $(origin FOO))
并运行它。 第一个函数可以工作,但第二个函数不会。
错误消息:
...
$使-d
GNU使3.81 版权所有(C)2006自由软件基金会,公司 这是自由软件;请参阅复制条件的来源。 没有保修;甚至不适用于适销性或特定用途的适用性。
这项计划针对i686-PC-Linux的GNU
阅读的makefile建...
阅读的makefile的`Makefile” ......
栏文件
的Makefile:6: ***缺少分隔符。停止。
...
前两个函数正常工作,那么,为什么会出现这种情况?我没有看到明显的东西,或者这个版本的make不支持$(firstword)函数吗? 感谢您的帮助。
以上示例makefile是John Graham-Cumming出版的“GNU Make Book”一书的直接书籍,它不需要目标或使用制表符或在规则中进行Make构建。我只是找到了一些工作:'MY_LIST =一个定向编译的程序$(info第一个单词是$(firstword $(MY_LIST)))'这解决了我的问题,即$(firstword ...)函数确实有效。所以真正的问题是“为什么函数$(origin ..)不输出一个兼容的字符串?” – timoh