能否通过Automake在独立目录生成configure脚本?
可以在独立目录通过Autoreconf生成Configure脚本
完全可以按照你给出的命令,在/path/to/my/buildconf目录生成对应src目录的configure脚本,以下是关键细节和注意事项:
命令合法性:你用的命令是完全可行的。
autoreconf支持将源码目录作为参数传入,-vfi三个参数的作用分别是:-v:显示详细执行过程,方便排查问题-f:强制覆盖已存在的生成文件,避免旧文件干扰-i:自动安装缺失的辅助脚本(比如install-sh、missing这类Autotools必备的工具脚本)
执行后,buildconf目录会生成完整的configure脚本以及配套的辅助文件。
路径配置要点:
- 确保
src/configure.ac中的AC_CONFIG_FILES指令使用相对路径时逻辑正确。因为生成的configure在buildconf目录,后续运行它做构建时,需要明确指定源码目录路径。比如在buildconf目录运行configure的命令应该是:
这样configure才能正确找到./configure /path/to/my/srcsrc目录下的Makefile.in等文件,生成对应的构建文件。 - 如果
src目录下有Makefile.am,autoreconf会自动在src目录生成对应的Makefile.in(这属于源码树的一部分,不会放到buildconf目录),无需额外操作。
- 确保
其他注意事项:
- 确保
src目录有可读权限,autoreconf需要读取其中的configure.ac、Makefile.am等配置文件。 - 如果之前在
src目录运行过Autotools命令,建议先清理src目录下的自动生成文件(比如configure、Makefile.in),避免影响buildconf目录生成的脚本。
- 确保
内容的提问来源于stack exchange,提问作者Misha T
相关产品推荐
相关产品推荐

