1

我一直在使用 GNU Autotools,我观察到可以使用不同的方法包含另一个 makefile,我不知道,我没有发现结果或 Automake 管理包含的方式可能存在的差异,如果有的话。

我见过的不同方式是使用include $(path_to_file)and -include $(path_to file),连字符在包含文件时有什么不同吗?

4

1 回答 1

2

前置连字符使包含可选。

如果包含的文件(例如Make.include)不存在,而您正在使用include Make.include,则构建将失败。但是,如果您正在使用-include Make.include构建将成功(但当然该文件不会被包含在内)。

我使用它来允许用户修改构建,而无需接触真正的 Makefile(如果您想调整构建以匹配您的系统,并且您正在使用 VCS 跟踪对父 Makefile 的更改,这很酷:这样跟踪Makefile 不会变得“脏”)。

但是,这并不特定于自动工具,因为它make通常适用。

使用 autotool 时,请注意automake不会通过包含的文件跟踪任何漂亮的东西。

于 2013-01-16T14:58:22.980 回答