我想让makefile生成一个包含两个不同规则的文件。一个值得称赞的是aaa和另一个用于制作bbb。 我有两个文件: 1.c和2.c. 规则aaa需要result.o从1.c生成 和bbb需要result.o从2.c
生成怎么做?
答案 0 :(得分:1)
来自GNU Make文档:
makefile中出现“rule” 说何时以及如何重拍某些 文件,称为规则的“目标” (通常每个规则只有一个)。它 列出其他文件 目标的“先决条件”,和 用于创建或更新的“命令” 目标。
也就是说,make 规则的目的是生成一些目标,通常 来自某些操作的结果文件 - 无论是标记步骤已执行的标记文件或来自编译的目标文件。
你想要什么,为2个不同的依赖关系生成result.o
目标并不完全是make的目的。
您可以做的是生成目标1.o
和2.o
,而不是在更高级别的规则中与result.o
进行符号链接。但是,这意味着规则aaa
和bbb
必须依赖 1.o
和2.o
,因为他们必须分开目标(巧合的是规则的名称)。