Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我对具有给定扩展名的文件有一个通用规则,但我想为具有前缀的文件添加特殊情况。我试过这个:
special-%.dat: special-%.raw echo "Running rule 1" %.dat: echo "Running rule 2"
但是当我运行时make special-1.dat,它会忽略第一条规则并运行第二条。切换规则的顺序没有区别。我怎样才能解决这个问题?
make special-1.dat
文件是否special-1.raw存在?如果该文件不存在(并且您没有可以创建它的规则)make 将永远不会选择此规则,因为先决条件不可用。这本身并不是一个错误:只有当 make 找不到可以构建此目标的规则时,它才会失败。
special-1.raw
运行make -d将准确地向您展示 make 如何递归地考虑每个目标及其先决条件。
make -d