Makefile生成具有相同名称但由两个不同规则生成的文件

时间:2011-01-15 14:28:56

标签: linux makefile

我想让makefile生成一个包含两个不同规则的文件。一个值得称赞的是aaa和另一个用于制作bbb。 我有两个文件: 1.c和2.c. 规则aaa需要result.o从1.c生成 和bbb需要result.o从2.c

生成

怎么做?

1 个答案:

答案 0 :(得分:1)

来自GNU Make文档:

  

makefile中出现“rule”   说何时以及如何重拍某些   文件,称为规则的“目标”   (通常每个规则只有一个)。它   列出其他文件   目标的“先决条件”,和   用于创建或更新的“命令”   目标。

也就是说,make 规则的目的是生成一些目标,通常 来自某些操作的结果文件 - 无论是标记步骤已执行的标记文件或来自编译的目标文件。

你想要什么,为2个不同的依赖关系生成result.o目标并不完全是make的目的。

您可以做的是生成目标1.o2.o,而不是在更高级别的规则中与result.o进行符号链接。但是,这意味着规则aaabbb必须依赖 1.o2.o,因为他们必须分开目标(巧合的是规则的名称)。