您当前的位置: 首页 >  dangoxiba linux

[Linux]使用autotools自动生成Makefile

dangoxiba 发布时间:2021-12-04 15:45:19 ,浏览量:4

Make工程管理器的使用。

(1)为什么要Make工具?

面对数十数百的源文件,一个个编译太麻烦了,Make工具最主要也是最基本的功能就是通过makefile文件来描述源程序之间的相互关系并自动维护编译工作,Makefile通过定义整个软件项目的编译规则,make工具就可以基于Makefile实现整个项目的完全自动编译,从而显著提高软件开发的效率。

(2)自动生成工具自动生成Makefile的过程。

使用autotools自动生成工具自动生成Makefile

①将准备好的源代码执行autoscan命令扫描工作目录生成.scan文件

②将后缀.scan改为.ac,同时通过宏的解释见表编辑修改整个配置文件

③在项目执行aclocal以及autoconf生成configure文件

④autoheader命令生成config.h.in文件

⑤创建一个Makefile.am文件,定义一些生成的Makefile的规则

⑥在项目目录上执行automake命令生成Makefile.in文件,通常要用--add-missing让automake自动添加一些必要的脚本文件

同时用touch生成一些系统提示不存在的文件

⑦即可执行./configure,生成最终的Makefile文件

⑧在项目目录上执行make命令,基于Makefile文件源代码文件生成可执行文件,并对可执行文件测试

⑨在目录上执行make install命令将编译后的软件包安装到系统中,安装后会对生成的可执行文件进行测试

实际操作有图有真相

(1)编辑源代码,利用文本编辑器vim创建hello.c文件,vim hello.c

 

(2)编写Makefile文件。

利用文本编辑器创建一个makefile文件,并将其保存到与hello.c相同的目录下

 

(3)使用Make 编译项目。执行make,查看并记录所生成的文件和运行的结果。

一开始的时候

 

 

运行之后

 

 

(4)使用自动生成工具生成Makefile文件(包括单个源文件 和两个源文件的生成过程)。

先下载下autoscanf

 

 

把configure.scan 修改为 configure.am

 

编辑修改这个配置文件

 

执行aclocal,autonconf以及autoheader生成config.h.in

 

生成Makefile.am

 

Automake命令生成Makefile.in文件

 

Touch命令来创建不存在的文件

 

运行最终的Makefile文件

 

Make命令生成可执行文件

 

Make install命令将编译后的软件包安装到系统

这样就算成功了,遇到几十几百个源文件就非常好用了。 

 

关注
打赏
1688896170
查看更多评论

dangoxiba

暂无认证

  • 4浏览

    0关注

    55博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文
立即登录/注册

微信扫码登录

0.0481s