configure.ac和configure.in,Makefile.am和Makefile.in之间有什么区别?

时间:2010-09-23 22:34:30

标签: makefile autoconf configure automake

我已经看到了我配置的不同内容。我有什么区别?仅使用一个是值得注意的吗?或者使用哪一个无关紧要?

1 个答案:

答案 0 :(得分:50)

configure.acconfigure.in是主Autoconf源文件的两个可能名称,由autoconf处理以生成configure shell脚本。 configure.ac是新包的首选,configure.in是一个较旧的名称,仍可使用。 (现在建议.in后缀仅用于将由config.status处理的文件,即运行configure结果。)

Makefile.am是一个Automake源文件。 Automake对其进行处理并生成Makefile.in,然后由config.status进一步处理以生成最终的Makefile。 Automake生成的Makefile.in并不是手工编辑的。但是,如果某个项目不使用Automake(但确实使用了Autoconf),那么它只会有Makefile.in 手动编辑。

有关详细信息,请参阅http://www.gnu.org/software/autoconf/manual/html_node/Making-configure-Scripts.html - 尤其是图表。