autotools归纳
最近接触到许多linux项目,其编译都是使用的autotools。
autotools是一个自动化的编译工具。个人理解它的最主要功能就是生成Makefile。
因为直接写Makefiel,其依赖关系还是比较复杂的。 一般的我们下载的源码包只要通过以下3条命令,就可完成编译和安装:
./configure
make
sudo make install 但是autotools其本来还是非常复杂的,下面给出参考
以下是命令列表:
autoscan 扫描给定的目录及其子目录,以搜寻普通的可移植性问题,比如检查编译器,库,头文件等。
生成的configure.scan是configure.ac文件的原型。 aclocal 是一个收集宏的过程。
将已经安装的宏、用户定义宏和acinclude.m4文件中的宏集中定义到文件aclocal.m4中。 autoheader 生成宏定义的模板文件config.h.in。
宏定义模板文件被后面的命令所需要。 automake 根据configure.ac和Makefile.am中定义的结构,生成Makefile.in文件。 libtoolize 如果在configure.ac中定义了一些特殊的宏,比如AC_PROG_LIBTOO,automake将会调用此命令。 autoconf 生成configure脚本文件。 make distclean 清除所有生成的文件 ./configure 生成Makefile。 make 编译。 make install 把程序安装到系统目录中去。 make uninstall 卸载程序。 make clean 清除生成的目标文件及过程中产生的文件。 make distclean 清除所有产生的文件。 make dist 将程序和相关的文档打包为一个.tar.gz压缩文件以供发布。 autoupdate 如果更新了Autoconf工具的版本,此命令可更新configure.in。
autoreconfig 如果更新了Autoconf工具的版本,此命令可更新产生的配置文件。
ifname 扫描C源程序文件,在标准输出上输出那些出现在#if,#elif,#ifdef或#ifndef中的标识符,
每个标识符显示为一行,其后跟一空格和所属的文件名。 command input output
--------------------------------------------------
autoscan [source] configure.scan
autoscan.log aclocal configure.ac aclocal.m4 autoheader aclocal.m4 autoconfig.h.in automake configure.ac INSTALL
makefile.am Makefile.in
COPYING
install-sh
missing
mkinstalldirs
stamp-h.in libtoolize config.guess
config.sub
ltmain.sh
ltconfig autoconf configure.ac configure
aclocal.m4
autoconfig.h.in command input output
-----------------------------------------------------------------
configure configure Makefile
Makefile.in config.h
cofnig.h.in config.log
XXXXX.pc.in config.status
XXXXX-uninstalled.pc.in libtool
XXXXX.pc
XXXXX-uninstalled.pc
stamp-h1 make Makefile make install Makefile make uninstall Makefile make clean Makefile make distclean Makefile make dist Makefile
autotools归纳的更多相关文章
- 在 Linux 中使用 Eclipse 和 Gnu Autotools 管理 C/C++ 项目
在我该系列的之前的所有随笔中,都是采用 Linux 发行版自带的包管理工具(如 apt-get.yum 等)进行软件的安装和卸载,从来没有向大家展示使用源代码自行编译安装软件的方法.但是长期混迹于 U ...
- AndroidProjects个人项目归纳
AndroidProjects 个人总结归纳-目录大纲 Data Binding框架MVVM BaseView CollapseView 更新中... 项目地址:https://github.com/ ...
- C/C++ makefile自动生成工具(comake2,autotools,linux),希望能为开源做点微薄的贡献!
序 在linux下C或C++项目开发,Makefile是必备的力气,但是发现手写很麻烦. 在百度有个comake2工具,用于自动生成Makefile工具,而在外边本想找一个同类工具,但发现 ...
- mysql在线修改表结构大数据表的风险与解决办法归纳
整理这篇文章的缘由: 互联网应用会频繁加功能,修改需求.那么表结构也会经常修改,加字段,加索引.在线直接在生产环境的表中修改表结构,对用户使用网站是有影响. 以前我一直为这个问题头痛.当然那个时候不需 ...
- Excel通过身份证获取出生年月,性别,年龄,生肖,星座,省份等信息总结归纳
Excel通过身份证获取出生年月,性别,年龄,生肖,星座,省份等信息总结归纳 早期的身份证号码为15位数字,现在使用的身份证号码为18位数字,它们的含义如下:(1)15位:1-6位为地区代码,7-8位 ...
- css学习归纳总结(三) 转
原文地址:css学习归纳总结(三) 为文档添加样式的三种方法 行内样式 行内样式是写在HTML标签的style属性里的,比如: <p style="font-size: 12px;fo ...
- css学习归纳总结(二) 转
原文地址:css学习归纳总结(二) 标签与元素 <p>标签和p元素有什么区别呢?大多数时候他们表示的是同一样东西,但仍有细微的区别.<p>.<div>等指的是HTM ...
- css学习归纳总结(一) 转
原文地址:CSS学习归纳总结(一) 选择器的分组 CSS选择器分为 1.群组选择器 如:p, body, img, div{} 2.兄弟选择器 如:p + p { color:#f00; } 3.属性 ...
- 对Linux(Unix)的基础知识归纳
前言,不论是原生APP(Android&IOS),还是大型架构级基础环境(.NET&J2EE,或LAMP阵营等), 基本都不可避免的涉及到Linux(Unix),故还是觉得有必要把自己 ...
随机推荐
- cronolog 对 tomcat 7 进行日志切割
一.安装 软件 cronolog-1.6.2.tar.gz tar zxvf cronolog-1.6.2.tar.gz cd cronolog-1.6.2 ./configure && ...
- 使用Java操作文本文件的方法详解
使用Java操作文本文件的方法详解 摘要: 最初java是不支持对文本文件的处理的,为了弥补这个缺憾而引入了Reader和Writer两个类 最初java是不支持对文本文件的处理的,为了弥补这个缺憾而 ...
- RestTemplate 发送Post 多个参数请求
MultiValueMap<String, String> requestEntity = new LinkedMultiValueMap<>(); requestEntity ...
- memcache数据组织
转自:原链接 使用命令 set(key, value) 向 memcached 插入一条数据, memcached 内部是如何组织数据呢 一 把数据组装成 item memcached 接受到客户端的 ...
- html背景图片拉伸至全屏
本来想在body的css中设置,但发现怎么弄也无法搞定,技术水平有限吧,最后通过下面方式来达到效果: <img src = 'url' border = '0' width = '100%' h ...
- iOS 生产证书 分类: ios相关 app相关 2015-05-22 14:49 175人阅读 评论(0) 收藏
首先登陆https://developer.apple.com(99美元账号) 选择iOS Developer program 板块下的 Certificates,Identifiers & ...
- IOS开发之IOS8.0最新UIAlertController 分类: ios技术 2015-01-20 14:24 144人阅读 评论(1) 收藏
最近苹果更新的IOS8 对以前进行了很大的修改, 更新的API也让人捉急,据说iOS 8的新特性之一就是让接口更有适应性.更灵活,因此许多视图控制器的实现方式发生了巨大的变化.比如全新的UIPrese ...
- 测试MarsEdit
测试MarsEdit 今天在MAC上使用MarsEdit编写第一篇博客,测试使用. 今天在MAC上使用MarsEdit编写第一篇博客,测试使用. -(void)myBtnAction:(UIButto ...
- android TextView实现滚动显示效果
在android中,如果设置了TextView控件为单行显示,且显示的文本太长的话,默认情况下会造成显示不全的情况,这种情况下我们需要设置该控件属性如下: <TextView android:i ...
- 段落p元素内的响应式文本布局就靠rem单位实现
<!DOCTYPE html><html><head lang="en"> <meta charset="UTF-8&qu ...