我有这个目录结构:
libfoo
project foo
project 这里必须构建两个单独的东西,一个libtool库(libfoo
)和一个使用该库的可执行文件(foo
)。
我可以在configure.ac
和foo/libfoo
中放置一个foo/foo
文件,一切都会好的。
但是我希望能够同时构建这两个项目,所以我考虑将额外的configure.ac
放入顶级foo
目录。
这是个好主意吗?
如果是,在这种情况下如何使用AC_OUTPUT
makro?
顶级configure.ac
文件是否生成整个树中的所有Makefile
,或者子目录中是否有单独的AC_OUTPUT
makros,每个makros都输出Makefile
个?
由于两个项目都有不同的依赖关系,我认为subdir ac文件会执行makefile的输出吗?
在这种情况下,子目录中的两个项目是否仍然可以单独构建?
答案 0 :(得分:1)
有AC_CONFIG_SUBDIRS
macro可以执行我想要的操作,它会递归到子目录并执行那里的configure.ac
文件。
sub dir项目仍然可以独立构建。
我的Makefile.am
现在只包含SUBDIRS = libfoo foo
。
configure.ac
文件包含AC_CONFIG_SUBDIRS=([libfoo foo])
。