NMake(批量)推理规则中的$(@ D)等价物

时间:2016-02-12 13:50:59

标签: nmake

我有一堆推理规则,如果我有办法表达当前目标的目录,我可以简化很多。通常会有$(@D)用于此目的,但它似乎不适用于(批处理)推理规则,即以::结尾的规则:

fatal error U1100: macro '$(@D)' is illegal in the context of batch rule [...]

是否存在可用于推理规则的替代方法,并且允许我保持整体规则的数量,特别是 - 不必重复自己在另一个上下文中将成为函数调用的参数的东西

我目前的解决方法是使用非批量推理规则。因此,而不是批处理表格:

{foo}.c{bar}.obj::
    $(CC) ...

我正在使用非批处理表单,这意味着它每个文件调用一次编译器,而不是每个“与推理规则匹配的一堆文件”调用一次:

{foo}.c{bar}.obj:
    $(CC) ...

它还使日志文件更长,可读性更低,但它主要减慢了构建速度。

0 个答案:

没有答案