是否有不同的方法可以使用 automake 包含 makefile?

Posted

技术标签:

【中文标题】是否有不同的方法可以使用 automake 包含 makefile?【英文标题】:Are there different ways to include makefiles using automake? 【发布时间】:2013-01-16 11:54:24 【问题描述】:

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

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

【问题讨论】:

【参考方案1】:

添加连字符使包含可选。

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

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

但这并不特定于 autotools,因为它通常适用于 make

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

【讨论】:

知道这也适用于 make,我在 GNU make 手册中进行了搜索,并记录了 here,我在 automake 手册中没有找到任何关于它或对此的任何引用,所以从现在开始在问之前我会看看他们两个。正如 GNU make 手册所说,你也可以写 sinclude Make.include。谢谢你的回答。

以上是关于是否有不同的方法可以使用 automake 包含 makefile?的主要内容,如果未能解决你的问题,请参考以下文章

将 automake 安装文件名设置为与原始文件名不同

Automake:使用 make dist 删除配置脚本检查

使用 automake 生成条件块

使用 automake/autoconf 条件生成文件

自动包含头目录 Automake

使用 autoconf/automake,如何指定包含文件路径?