如何使用autotools处理子项目?

gal*_*dog 14 c++ git autotools

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

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

说,我有:

src/<my src files>
modules/libfoo/
        libbar/
Makefile.am
Configure.in
<other autotools junk>
Run Code Online (Sandbox Code Playgroud)

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

Dan*_*Dan 16

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

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