我想让 makefile 女巫生成一个包含两个不同规则的文件。一个用于表扬 make aaa,另一个用于 make bbb。 我有两个文件: 1.c 和 2.c 规则 aaa 需要从 1.c 生成的 result.o bbb 需要从 2.c 生成的 result.o
怎么做?
最佳答案
来自 GNU Make 文档:
A "rule" appears in the makefile and says when and how to remake certain files, called the rule's "targets" (most often only one per rule). It lists the other files that are the "prerequisites" of the target, and "commands" to use to create or update the target.
也就是说,make rules 的目的是生成一些 target,通常 一些操作的结果文件 - 无论是表示步骤已执行的标记文件或来自编译的目标文件。
你想要的是,为 2 个不同的依赖项生成一个 result.o
目标并不是 make 想要做的。
您可以做的是生成目标 1.o
和 2.o
,然后将它们链接到 result.o
更高级别的规则。然而,这意味着 aaa
和 bbb
必须依赖 1.o
和 2。 o
因为它们必须有单独的 目标(巧合的是规则的名称)。
关于linux - Makefile 生成具有相同名称但按两种不同规则生成的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4700098/