使用autotools生成makefile

闲来无事下载了一本书的源码,但又觉得每次都要编译每一个程序很麻烦(后面其实发现,这都只是.c文件并不是大工程,编译每一个C文件比写一个makefile容易多了)。但前几天正好看到了autotools生成makefile的方法,那就练练手吧。废话少说,进入正题。

首先肯定是下载autotools, 一个yum install autoconf 很简单酒完成了。

接下来就要正式步骤:

1,autoscan

生成了一一个configure.scan文件。编辑它,增加宏声明 AM_INIT_AUTOMAKE(hello,1.0) 和AC_CONFIG_FILES([makefile])

然后保存为configure.ac。 其实configure.scan就是一个模板。

PS:这里hello是项目名,可以随便填。1.0是版本号,也就是你代码的版本号,也随便填吧。

2,aclocal

这里生成一个aclocal.m4文件,注意咯,网上有的地方在前面AM_INIT_AUTOMAKE这个宏写成AC_INIT_AUTOMAKE,这里会出错不能生成aclocal.m4.

3,autoconf

这里生成一个configure文件。

4,autoheader

5,automake

这一步很重要,因为要自己编写makefile.am文件

AUTOMAKE_OPTIONS= foreign
bin_PROGRAMS= hello
hello_SOURCES= hello.c

第一行是GNU发布软件有自己的规范,有三个选项:foreign,gnu,gnits。如果不写默认为gnu,这样你需要添加各种文件。我们为简单就写这一行。

第二行是你要生成的可执行文件,有多少写多少,用空格分开。

第三行既每个可执行文件的依赖文件,file_SOURCES。有多少可执行文件就写多少依赖文件。

6,automake -a

7./configure

8,make install

一个makefile文件就轻松生成了。

原文地址:https://www.cnblogs.com/yestreen/p/3078760.html