GNU Make只执行10个规则。

3

我有一个Makefile文件,它可以将一些文件转换成PDF格式。目前这个Makefile的样子是这样的:

PDFS = file_A.pdf file_B.pdf <snip> file_K.pdf

all : convert

file_%.pdf:
    $(CONVERTER_COMMAND) $< -o $@

file_A.pdf : file1.ext
file_B.pdf : file2.ext
<snip>
file_K.pdf : file11.ext

convert : $(PDFS)
.PHONY : convert

上面是一般的结构(不幸的是我无法展示实际文件)。
运行 make convert 对于前十个文件非常顺利,也就是说它生成了file_A.pdf直到file_J.pdf。然而,最后一个file_K.pdf从未生成。如果我将其规则移动到列表的顶部,它会被生成,但现在列表中的最后一个不再被生成。
如果我运行 make file_K.pdf,即使它不存在,make只会显示该文件为up to date
有什么想法吗?或者有任何其他解决类似问题的替代想法吗?
1个回答

2

在上面的列表中,最后一个先决条件语句(在file_K.pdf:file11.ext之后)的行末是否有杂散的TAB字符?

您应该尝试运行make -d并查看它对未构建目标的输出。


哎呀,你是对的。那里有一个多余的TAB。非常感谢你,伙计! - user6163780

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接