首页 文章

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 就像前10个文件的魅力一样,即它会生成 file_A.pdf 直到 file_J.pdf . 但是,最后一个, file_K.pdf 永远不会生成 . 如果我将其规则移动到列表的顶部,则会生成该规则,但是不再生成列表中现在的最后一个规则 .

如果我做 make file_K.pdf make just state该文件是 up to date ,即使它还不存在 .

有任何想法吗?或者关于如何解决类似问题的任何其他想法?

1 回答

  • 2

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

    你应该尝试运行 make -d ,看看它没有 Build 的目标有什么说法 .

相关问题