这与Make a Makefile仅在发生错误时执行代码略有不同?.
我想要在发生错误时制定规则或特殊目标(独立于给定目标;不更改每个目标的规则,因为另一个答案似乎暗示了||运算符).
在dmake的有特殊目标 .ERROR即每当检测到错误条件时执行.GNU make有类似的东西吗?
(我还在使用GNU make 3.81,但我在新的GNU make 4.0的文档中找不到任何内容)
我有一个Makefile,其中包含一对如下规则:
file.c: filesvn
filesvn: .svn/entries
action1
action2
Run Code Online (Sandbox Code Playgroud)
在svn存储库中,这当然可以正常工作.该文件依赖于生活在subversion存储库中.从存储库导出时,这不起作用(没有规则来制作目标...),我想解决这个问题.我试图简单地将以前生成的filesvnout 版本带到导出的目录中,但Make仍坚持验证其filesvn依赖性.
当然,简单地删除.svn/entries的依赖关系确实有效,但是由于观察修订更新是目标,因此规则的精神被打破了.
有没有办法让Make不在乎.svn/entries文件不存在?
这种技术的优点并不是问题的一部分.我无法从根本上改变这一点,但如果有一种改变可以保持可能有效的精神.答案"你不能"当然是完全有效的.:)