1

我正在研究实验室中其他人编写的 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分别对待这两个规则吗?我们可以安全地对首先考虑哪一个做出任何假设吗?

4

1 回答 1

4

这是一种危险的做法,因为很难知道应用了哪一个。

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

于 2012-10-08T20:04:02.380 回答