我正在研究我实验室中其他人编写的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
会单独处理这两条规则吗?我们能否安全地假设哪一个被认为是第一个?
答案 0 :(得分:4)
这是一种危险的做法,因为知道应用哪一种是令人困惑的。
如果包含的文件内容在Makefile中,则“include”将执行,并且在读取Makefile时将覆盖目标。因此,最后一个目标将被尊重,第一个目标(在包含的文件中)将被忽略。