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

我们在平时的学习中要编译我们写的源代码生成可执行文件,大家都知道用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.  整个过程,如下图所示:

时间: 2024-10-24 08:51:12

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

Makefile自动生成工具-----autotools的使用(详细)

相信每个学习Linux的人都知道Makefile,这是一个很有用的东西,但是编写它是比较复杂,今天介绍一个它的自动生成工具,autotools的使用.很多GNULinux的的软件都是用它生成Makefile的,包括我们非常熟悉的Linux内核源代码. 1.准备: 需要工具 autoscan aclocal autoheader automake autoconf auto make 在终端敲入命令,哪个没有安装哪个,一般是第一个autoscan没有,其它的我用的Ubuntu10.04下全部都有

C/C++ makefile自动生成工具(comake2,autotools,linux),希望能为开源做点微薄的贡献!

序 在linux下C或C++项目开发,Makefile是必备的力气,但是发现手写很麻烦. 在百度有个comake2工具,用于自动生成Makefile工具,而在外边本想找一个同类工具,但发现很难做到,只发现有个类似的智能生成工具autotools,但是操作比较麻烦,奔着“一人学习,大家共享”的原则,手动写了一个工具类,帮助自己和大家生成现成的c或者cpp框架. 代码比较简单,希望我们能一起改善下. git路径:https://github.com/chuanshanjia/ccpp/blob/ma

h5自动生成工具

一.前言 写了很多h5之后,对于写手写html和css已经麻木的我决定动手写个工具自动生成h5结构和样式.其实这个想法由来已久,但总是觉得自己技术不够,所以一直没实行.直到某天我真的写够了,我决定动手了.在此也要感谢我周围的小伙伴.是波波同学告诉了我如何使用ps中的脚本批量把图层导出成图片,嘉哥告诉了我怎么裁剪png图片.站在了巨人肩膀上的我,利用这两个方法和我自己的聪明才智,经过2/3天的努力,终于完成了我的工具.个人感觉非常满意. 二.规范说明 设计稿要求为640x1006尺寸,设计人员给的

Makefile自动生成头文件依赖

前言 Makefile自动生成头文件依赖是很常用的功能,本文的目的是想尽量详细说明其中的原理和过程. Makefile模板 首先给出一个本人在小项目中常用的Makefile模板,支持自动生成头文件依赖. CC = gcc CFLAGS = -Wall -O INCLUDEFLAGS = LDFLAGS = OBJS = seq.o TARGETS = test_seq .PHONY:all all : $(TARGETS) test_seq:test_seq.o $(OBJS) $(CC) -o

Linux下项目与事务跟踪工具JIRA搭建汉化安装详解

1,安装java环境 [Java环境安装请查阅java环境安装] 2,安装数据库并添加jira数据库和用户授权 [MySql环境安装请查阅mysql安装] mysql> create database jira charactor set 'utf8'; mysql> grant all on jiradb.* to `jira`@`%` identified by 'jira123'; mysql> flush privileges; 3,相关软件包下载地址及说明 atlassian-

iBatis 代码自动生成工具 iBator 及 Example 使用

iBator的下载和安装 官方下载地址:http://people.apache.org/builds/ibatis/ibator/ 安装:见<Eclipse 插件安装> 安装完成后,“File” —> "New" —> "Other..." iBatis 代码自动生成工具 iBator - 低调的华丽 - 辉色空间 选择项目名 —> "New" —> "Other..." —> “N

Asp.net mvc 5 CRUD代码自动生成工具- vs.net 2013 Saffolding功能扩展

Asp.net mvc 5 CRUD代码自动生成工具 -Visual Studio.net2013 Saffolding功能扩展 上次做过一个<Asp.net webform scaffolding结合Generic Unit of Work & (Extensible) Repositories Framework代码生成向导> 是生存Web Form的. 这次看到网上有生成MVC Saffolding扩展原作者的代码 https://github.com/robinli/MVC5-

新版本ADT创建Android项目无法自动生成R文件解决办法

本人使用的是ADT是Version 23.0.2,支持Android 6.0之后的系统环境,最高版本23,在创建Android项目的时候,每次创建项目选择“Compile With”低于6.0版本的时候,都无法自动生成R文件,这个时候MainActivity文件报错,反复点击项目后执行“Clean”后,错误无法解 决,按照之前不生成R文件的办法解决不了,那怎么办呢?先分析错误产生的原因. 案例参考:新版本ADT创建Android项目无法自动生成R文件解决办法 | TeachCourse

STM32代码自动生成工具使用说明

1.什么是"代码自动生成工具" 为了降低开发者的开发门槛,缩短开发周期,降低开发资源投入,机智云推出了代码自动生成服务.云端会根据产品定义的数据点生成对应产品的设备端代码. 自动生成的代码实现了机智云通信协议的解析与封包.传感器数据与通信数据的转换逻辑,并封装成了简单的API,且提供了多种平台的实例代码.当设备收到云端或APP端的数据后,程序会将数据转换成对应的事件并通知到应用层,开发者只需要在对应的事件处理逻辑中添加传感器的控制函数,就可以完成产品的开发. 使用自动生成的代码开发产品