首页 > 解决方案 > 使用非 Automake 外部库进行 distclean 中断

问题描述

我对 Automake 有以下问题。我的项目使用 Autoconf 以及自定义 makefile 和 makefile 模板。我已将项目部分转换为 Autotools,现在我正在使用一些 make 目标以确保一切按预期工作。

该项目包含需要首先构建的外部依赖项。这些是我通过SUBDIRS主 Makefile.am 添加到项目中的非 Automake(plain make)库。有了这个,我可以成功地构建外部库,甚至将它们安装在正确的prefix.

然而,问题在于,对于在单独的构建目录中配置的外部非 Automake 库,不会为它们创建任何相应的目录和 Makefile。因此,当我make distclean在构建目录中运行时,无法找到库和中止的目录。

解决此问题的一种可能方法是configure在构建目录中创建缺少的目录,并添加一个定义空distclean目标的虚拟 Makefile。但是,这非常难看,如果可能的话我会避免它。有没有更成熟的方法来处理这种集成问题?

谢谢

标签: autotoolsautomake

解决方案


到目前为止,我能想到的最好方法是在配置时使用AC_CONFIG_LINKS. 这样,make distclean将运行distclean外部库并最终删除构建目录中的链接。


推荐阅读