我想在一个案例中使用makefile规则,其中 .bbb和.ccc类型的文件被编译成.aaa。
我可以简单地写两条规则:
%.aaa: %.bbb
process $<
%.aaa: %.ccc
process $<
但我想知道这是否可以在一条规则中完成,例如:
%.aaa: %.bbb OR %.ccc
process $<
请注意,只有一个文件bbb或ccc足以进行编译,在我的情况下,只有一个存在(因此x.bbb或x.ccc,不是两者都有)。
答案 0 :(得分:2)
第一种方式是你如何表达这一点。所有makefile规则都隐含在一起。说你可以从%.bbb或%.ccc创建%.aaa就像说你可以从%.bbb创建%.aaa一样,你可以从%.ccc创建%.aaa。
如果规则的主体很复杂并且你想“重用身体”,那么很多人都会拥有宏设施,让你可以在一个地方定义并重复使用它。