我在我的 autotools 存储库中有一个子包设置,其中几个相关项目使用主 configure.ac 和 Makefile.am 粘合在一起。
除了通过 AC_CONFIG_SUBDIRS() 宏轻松完成的编译顺序之外,还需要导出这些过度耦合的子项目之间所需的头文件和库位置。
--- configure.ac
|- Makefile.am
|- subproj1 --- configure.ac
| |- Makefile.am
| |- src
| \- include
[...]
|
\- subprojN --- configure.ac // requires -I${top_srcdir}/subprojX/include and
|- Makefile.am // -L${top_srcdir}/subprojX/src
|- src
\- include
不幸的是,将这些包重新组合为一个不是一种选择。我尝试使用 AC_SUBST() 和/或 make 的导出命令导出变量,但无济于事。
我可以将这些标志用于每个子项目 Makefile 的唯一方法是将 CPPFLAGS 和 LDFLAGS 传递到根配置调用(通过命令行)。但是,我希望是否有办法将这些值保留在 autotools 中,而不必为它们创建单独的脚本。
PS:类似于automake和项目依赖