码迷,mamicode.com
首页 > 系统相关 > 详细

linux 商业项目 makefile 自动生成工具Autotools的使用

时间:2016-05-13 02:18:12      阅读:415      评论:0      收藏:0      [点我收藏+]

标签:

     我们在平时的学习中要编译我们写的源代码生成可执行文件,大家都知道用gcc编译工具就可以完成任务,更复杂一点的,如果我们编写的文件比较多,那单纯在linux环境下写gcc命令进行编译就显得有点效率太低了,这时我们肯定想到写一个makefile来完成这样稍微复杂的编译过程,我想很多人也确实是是这样做的,所以我们回去学习makefile 的语法,其实如果编译 的文件量再多一些,文件之间的依赖关系更复杂一些,那么我们编写一个正确的,效率高的makefile也不是一件很容易的事情吧。其实我之前是有体验过这样的场景的,我们在linux系统下安装软件的时候,比如第三方的的开源组件,我们下载下来的开源组件也是一堆源代码,我们需要执行里面的 .config配置脚本文件,在执行make命令,然后在执行make install 就能生成能使用的可执行文件,这些文件我们可以采用静态链接或者动态链接的方式来供我们使用。其实在商业项目中也一样,我们需要在我们的源文件中生成这些工具,然后打包,然后使用的过程就和上面一样,下面就来介绍怎么使用Autotool工具来生成。


Autotools工具集:

                                                           技术分享


        关于这些工具集可以在gun官网查询它的用法及作用,下面主要介绍如果使用这些工具:

       1. 先在linux下创建我们的原文件,hello.c:   

                                                                                 技术分享

      2. 执行 autoscan ,生成configure.scan 文件,并把这个文件改名成configure.ac 

                                                                                 技术分享


4. 执行aclocal 生成aclocal.m4文件,再调用autoconf ,autoheader 命令,生成configure文件,新建一个文件Makefile,am 内容如下:

      技术分享


5. 执行 automake  --add-missing命令,在新建这些文件:  

    技术分享


4.现在目录下就有我们所需的Makefile.in和configure文件

     技术分享

5. 执行.configure 就会在当前目录下生成 Mafile文件,现在我们就可以用make 来进行源代码编译,用make install来进行软件的安装,使用make clean 进行make的反操作,make dist 生成gz包进行商业发布。 

     技术分享


5.  整个过程,如下图所示:

       技术分享

linux 商业项目 makefile 自动生成工具Autotools的使用

标签:

原文地址:http://blog.csdn.net/liubo2011/article/details/51347474

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!