我有一个用 C 编写的相当大的程序。它跨越多个文件,并进行了一些重组以试图弥补平台问题。具体来说,我有不同操作系统、体系结构和编译器的头文件,这些文件定义了它用来处理事情的宏。例如,-v
标志打印版本信息,包括构建它的编译器的名称,以及构建它的操作系统和体系结构。举一个为什么它很重要的例子,程序可以创建一个 C 代码文件,如果你愿意,可以编译它 - 一个任务,它只是对它构建的任何编译器进行系统调用。
如果在您的系统上找到它,它还支持 GNU Readline 库(或 BSD Editline 库——同样的东西),如果您没有它,它还支持没有所有纯 ANSI 的 Readline 功能的等价物。
最重要的是,我不能去掉任何依赖于平台的位,因为几个函数在很大程度上取决于你拥有的操作系统/架构/编译器。我还想为拥有它的人提供良好的功能。我希望人们下载并安装它具有标准./configure
和界面。make
make install
目前,我正在使用一个抱歉的手工 shell 脚本configure
从头开始创建 Makefile,并根据您的操作系统/架构/编译器确定要包含哪些头文件。我想要一个更有效的方法,并且我想使用一个使用 GNU Autotools 的更标准的构建系统。这样我就知道我所做的事情可以在其他人的计算机上运行,而无需在他们的计算机上进行测试。
我的问题是,对于那些努力完成所有这些的人(谢谢!),我的问题是:1)我如何从自制构建系统切换到 GNU Autotools?2) 有哪些很好的 GNU Autotools 入门教程?3)我怎样才能使这个过程相对轻松?