繁体   English   中英

Makefile中的特殊情况模式规则

[英]Special case pattern rules in Makefile

我有一个具有给定扩展名的文件的通用规则,但我想为具有前缀的文件添加特殊情况。 我试过这个:

special-%.dat: special-%.raw
    echo "Running rule 1"

%.dat:
    echo "Running rule 2"

但是当我运行make special-1.dat ,它会忽略第一个规则并运行第二个规则。 切换规则的顺序没有区别。 我怎样才能解决这个问题?

文件special-1.raw是否存在? 如果该文件不存在(并且您没有可以创建它的规则),make将永远不会选择此规则,因为先决条件不可用。 这本身并不是一个错误:只有当make可以找到没有可以构建此目标的规则时,它才会失败。

运行make -d将以精确的方式向您展示make如何以递归方式考虑每个目标及其先决条件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM