autoconf\automake\Makefile

在linux下面的大型工程很多都是makefile管理的,但是随着工程越来越大,makefile编写又成了一个大工程,这个时候出现了两个比较流行的工具,cmake和configure,configure又衍生出来一套automake。

 

 

autoconf 和 automake 生成 Makefile 文件

  通过这篇文章可以了解auotmake和autoconf的基本工作流程,文章讲的通俗易懂,但是版本较老。了解新版本的automake可以参考automake的WiKi主页Automake,通过下图可以很清晰的了解auomake和autoconf是如何生成configure脚本文件和最终的makefile文件的。建议先读完下文再来看这幅图片,然后从github上下载一个采用automake编译的项目自己亲身体验下如何编译。当然如果你想搭建自己的采用automake编译的项目,那么你需要再去学习一下如何编写configure.ac和Makefile.am文件。

  一般我们从github上clone下来的需要采用automake编译的项目都包含了 configure.ac 和 Makefile.am 文件或者里面还包含了一个 autogen.sh 的脚本(autogen.sh一般都是调用了autoreconf这个工具)。编译这样一个项目基本上可以三步完成:

  1. 在项目根目录运行  autoreconf -if ,你会发现项目目录下会多出m4文件目录,config.h.in文件,Makefile.in文件,configure脚本, compile脚本, depcomp脚本等文件;
  2. 接着运行 ./configure 进行配置生成 makefile 文件,譬如enbale/disbale一些特性,设置交叉编译平台(例如–host=linux-mips),设置编译安装目录(例如–prefix=path_to_your_build_directory)具体可以查看help信息;
  3. 执行 make ,进行源代码编译,
  4. 执行  make install 将程序安装至系统中。(当然有些软件需要先运行 make check 或 make test来进行一些测试),这一步一般需要你有 root 权限(因为要向系统写入文件)

 

 

 

 

 

configure、 make、 make install 背后的原理(翻译)

Linux 下的 make, configure 究竟有多难用?

 

 

参考

【CSDN】例解 autoconf 和 automake 生成 Makefile 文件

【博客园】Linux 命令详解(三)./configure、make、make install 命令

 

posted @ 2022-05-02 17:36  凌逆战  阅读(260)  评论(0)    收藏  举报