我应该如何从 Makefile.am 运行预构建的 Makefile?
我是 automake/autoconf 构建系统的新手。我正在为其实现 autotools 的包有几个库和每个库的测试可执行文件。一些库是自动生成的 ASN1C 代码,带有预构建的 makefile。我不确定在 Makefile.am 内部说“使用预构建的 makefile 构建 ASN1C 库”的最佳方式。
由于大量的 makefile 文档,尝试用这样的东西搜索 google 有点困难。
谢谢,陈兹
这对于完整构建来说相对容易,但对于增量构建来说要困难得多。
库是否支持树外构建也很重要。
要记住的重要一点是 automake 文件可以包含 make 规则,因此您可以创建一组规则来构建库,然后在构建所需的位置添加/复制该构建的输出。
为库构建分配一个目录。编写 make 规则来包装库构建过程。将库构建的输出绑定为构建的依赖项。
我们唯一没有做的是使用默认的 automake 规则进行分发/安装 - 我不确定你如何将库添加到这些列表中,但我认为有一种方法,因为你必须能够随机分发发行版中的翻译等文件。
增量构建要困难得多,因为您必须在 make 规则中捕获适当的依赖关系,以覆盖库 makefile 中的依赖关系。
Automake 手册有一个关于此的部分。