configure.ac和configure.in以及Makefile.am和Makefile.in之间的区别是什么?

问题描述:

我已经看到我已经配置了不同的东西。我有什么不同?是否仅使用一个?或者使用哪一个并不重要?configure.ac和configure.in以及Makefile.am和Makefile.in之间的区别是什么?

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 - 特别是图表。

+1

+1:很好。 – 2010-09-23 22:55:19