为了工作,我被迫学习一些有关自动工具的东西,但我真的不知道自己在做什么。我们的项目通常使用 rpm 进行分发,并且我们希望从 rpm 版本中删除测试代码。为了解决这个问题,我在configure.ac中编辑了AC_OUTPUT,使其仅包含检查Makefile(如果已配置)(在它执行此操作之前)。
自从进行此更改后,automake 已停止从测试目录中的 Makefile.am 生成 Makefile.in。我想我需要某种方法来告诉 automake 生成这些 Makefile.in 文件,但我不知道该怎么做。我似乎找不到如何单独指定这一点。可以告诉我如何做到这一点或为我指明正确的方向吗?
最佳答案
事实证明,为我解决这个问题的方法是使用 AC_CONFIG_FILES 而不是修补 SUBDIRS。在configure.ac 中,解决该问题的方法不是将测试目录添加到AC_OUTPUT 列表中,而是使用AC_CONFIG_FILES 包含它们。这解决了我的问题:
- 除非进行配置,否则不会构建 Makefile。
- Makefile.in 文件已构建。
关于autotools - 使用 automake 指定要构建的 Makefile,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7799840/