如何使用自动工具处理子项目

How to handle subprojects with autotools?

本文关键字:处理 子项目 工具 何使用      更新时间:2023-10-16

我有一些由autotools构建的C++项目。

这个项目使用了一些库,也是我写的。库的来源作为git的子模块导入到项目中。每个库都有自己的自动工具文件。

比方说,我有:

src/<my src files>
modules/libfoo/
        libbar/
Makefile.am
Configure.in
<other autotools junk>

我想要的是以某种方式将库包含在主项目编译链中。我想仅仅将subdir包含在Makefile.am中是不够的,因为一些检查可以在config.am中进行改革。

您可以通过将AC_CONFIG_SUBDIRS命令添加到顶级配置脚本来运行子模块中的配置脚本。它告诉顶级脚本下降到子目录,并调用在那里找到的配置脚本。然后,您可以从Makefile.am.中引用构建的库

阅读GNU automake手册的这一部分。