![]() |
1
3
如果您使用的是GNU make或支持 order-only prerequisites ,有一个自然的解决方案。将这些目录声明为安装目标的纯订单先决条件:
|
![]() |
2
1
如果您使用的是mingw make,那么所有平台的答案都应该相同:
对于第一个目录,如果测试失败,我们使用or运算符打印消息。然而,即使我们成功地打印了消息,我们希望整行都失败,因此我们退出时的错误代码为2。 如果您希望在所有情况下都能收到消息,则可以将上述逻辑应用于每个目录。如果有很多目录,下面这样的循环可能会起作用
唯一的复杂性是在windows上使用nmake和cmd时需要它;听起来这不是问题。 |
![]() |
3
1
@SamHarman的答案是正确的(他之前发布过),所以你应该在他修复第一个示例后立即接受他的答案。无论如何,我想我也会发布这个,它是同一个东西的一个略短、略令人困惑的版本…:-)
|