【发布时间】:2015-06-11 23:25:48
【问题描述】:
我想我可能需要使用 GNU make 中的文件功能,只是不能按照他们给出的例子。我在网上看过,但没有看到任何解释更多的帖子。这是他们给出的例子:
program: $(OBJECTS)
$(file >$@.in,$^)
$(CMD) $(CMDFLAGS) @$@.in
@rm $@.in
我想我知道它在高层次上做什么,正如手册中解释的那样。
$@.in
是所有目标文件的列表
$^
是源文件列表
我不确定第三行是如何使用@$@.in 或开头有什么@ 符号。请问这是什么意思?它应该做什么?
【问题讨论】:
-
为什么你认为你需要使用
$(file)?你也有足够新的make版本吗?我认为这是 4.1 的新功能。 -
这是个好问题。手册上讲过使用这个函数向命令行传递参数?我想如果到目前为止没有人使用它,也许我可以不用它。
-
我知道我有 4.0 和 Ubuntu 14.10。我将它降级是为了与 Android Studio 兼容。我不确定他们现在用最新的 Ubuntu 推动什么。
-
只是为了清楚;为了与 AOSP 兼容,我将 make 降级。
-
是的,看起来
$(file)是 4.0 功能而不是 4.1。