make的同一目标的多个实例

时间:2012-10-08 18:51:48

标签: makefile gnu-make

我正在研究我实验室中其他人编写的Makefile,我看到以下内容:

include /path/to/Makefile.inc

TARGET_A: pre_req_1 pre_req_2
    cmd_1;
    cmd_2;
    ...

当我查看/path/to/Makefile.inc时,我发现它还包含目标TARGET_A 其他先决条件和食谱。

这是正常做法吗? (它会起作用吗?)make会单独处理这两条规则吗?我们能否安全地假设哪一个被认为是第一个?

1 个答案:

答案 0 :(得分:4)

这是一种危险的做法,因为知道应用哪一种是令人困惑的。

如果包含的文件内容在Makefile中,则“include”将执行,并且在读取Makefile时将覆盖目标。因此,最后一个目标将被尊重,第一个目标(在包含的文件中)将被忽略。