就像标题中所说的,我只想在某个文件不存在的情况下进行依赖,而不是每次更新时都进行依赖。
我有一个根目录(带有makefile的目录),并且在其中有一个名为“ example”的子目录。在我的根目录中,有四个.h文件(functions.h,parser.h,node.h和exception.h),如果这些.h文件不存在,我希望将其复制到“ example”子目录中在“示例”中。
不幸的是,我不能仅仅建立一个标准的依赖项来检查“示例”中的头文件,因为每次我将头文件从根目录复制到“示例”时,“示例”中的头文件都将被视为已更新并会触发该依赖项。每次我运行make。我想让我的makefile仅在“示例”中不存在的情况下才将头文件从根目录复制到“示例”。
这是仅订购的先决条件/依赖项的用途:
但是,有时候,您希望对要调用的规则强加特定的顺序,但是如果执行了其中一个规则,则不强制更新目标。在这种情况下,您要定义仅订购的先决条件。可以通过
|
在先决条件列表中放置一个管道符号()来指定仅订购的先决条件。右侧的所有先决条件仅适用于订购。
在您的情况下:
examples/%.h : | %.h
cp $| $@
另请参阅:仅限订单的前提条件未显示在$^
或中$+
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句