gpt4 book ai didi

makefile - GNU Make 只执行 10 条规则

转载 作者:行者123 更新时间:2023-12-02 01:00:33 26 4
gpt4 key购买 nike

我有一个 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 只是声明文件是最新的,即使它还不存在。

有什么想法吗?或者关于如何解决类似问题的任何替代想法?

最佳答案

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

您应该尝试运行 make -d 并查看它对未构建的目标有何说明。

关于makefile - GNU Make 只执行 10 条规则,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50951932/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com