我正在尝试使用autotools为C程序创建一个构建系统。但是,在阅读info automake
之后,我仍然对开发人员调用哪些工具的顺序感到困惑。自动工具调用什么命令来创建构建系统?
让我们考虑一个非常简单的hello world应用程序。在应用程序的根目录中有简单的src/hello.c
,没有别的。需要以什么样的顺序调用哪些工具configure
和Makefile
?
我想我自己(部分阅读文档,部分只是尝试),autoscan
先来,并生成configure.ac
的“草图”。然后autoheader
显然创建一个头文件(为什么?)。接下来autoconf
最终会创建configure
脚本,最终将创建一个config.h
。
但是,我仍然错过了Makefile
,我相信这是由automake
创建的,但这需要Makefile.am
,我不知道如何生成。这个文件是完全由开发人员生成的还是手写的?
这并没有真正回答你的问题,但我从来没有发现的自动工具除了痛苦和困惑之外别无他法。其他构建系统正变得越来越普遍,如[CMake](http://www.cmake.org/)。他们有他们自己的问题,但通常与自动工具完全相同,但混淆和麻烦较少。如果你没有设置使用自动工具,你可能想看看一些替代品。 – sfstewman