如何使用autotools处理子项目?

时间:2012-08-02 11:21:58

标签: c++ git autotools

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

该项目使用了一些我也写的库。库的源代码作为git的子模块导入到项目中。每个库都有自己的autotools文件。

说,我有:

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

我想要的是以某种方式将库包含到主项目编译链中。我想只包含子文件到Makefile.am是不够的,因为有些检查可以在configure.am中重新进行。

1 个答案:

答案 0 :(得分:15)

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

阅读GNU自动化手册的section