makefile中的归档目标成员名称是什么?
makefile中存档中的目标成员名称是什么 这里解释如下: 但我不太明白,因为没有一个简单的例子 如果我有makefile中的归档目标成员名称是什么?,makefile,Makefile,makefile中存档中的目标成员名称是什么 这里解释如下: 但我不太明白,因为没有一个简单的例子 如果我有 target(name): name echo $% $%是目标名称的自动变量 如果使用make target,则此操作将不会运行 为什么??“目标成员名称”实际上是什么?您链接到的文档在开头附近专门解释了这一点 此构造仅在目标和先决条件中可用,在配方中不可用!您可能在recipes中使用的大多数程序都不支持此语法,并且无法直接作用于存档成员。只有ar和其他专门设计用于对
target(name): name
echo $%
$%
是目标名称的自动变量
如果使用make target
,则此操作将不会运行
为什么??“目标成员名称”实际上是什么?您链接到的文档在开头附近专门解释了这一点 此构造仅在目标和先决条件中可用,在配方中不可用!您可能在recipes中使用的大多数程序都不支持此语法,并且无法直接作用于存档成员。只有
ar
和其他专门设计用于对档案进行操作的程序才能这样做。因此,更新存档成员目标的有效方法可能必须使用ar
例如,要创建一个名为target
的ar
归档文件,其中包含name
,命令如下
touch name
ar cr target name
作为一个Makefile
,这是
target: name
ar cr $@ $^
name:
touch name
当您想要操作target
中的name
副本时,target(name)
语法非常有用。例如,如果在某个时候重建了name
,则您的Makefile
可能希望将其日期戳与target
中name
成员的日期戳进行比较,以决定是否需要更新target
中的副本
target(name): name
ar cr $@ $%
但这并没有说明如何首先创建
target
;据我所知,您需要一个类似于我示例顶部的配方。您知道这是在谈论ar
文件,对吗?“如果我使用make-target,它将不会运行”没有规则来制作target
,您还需要target:target(name)
,虽然归档文件通常有一个.a
后缀,所以可能target.a:target.a(名称)
。有没有有效的示例?我真的需要一些有用的东西。你的问题不清楚你在找什么。什么东西目前不起作用?