GNU Autotools [一]
GNU Autotools [一]
文章目录
- GNU Autotools [一]
- Autotools
- 系列工具包:Autoconf、Automake、Libtool
- 工具安装
- 手动安装:
- Autotools自动创建Makefile流程
- 示例:
- 工具的发展史
- linux发行版
Autotools
系列工具包:Autoconf、Automake、Libtool
工具安装
检测系统是否已经安装:which autoconf 自动安装:apt install autoconf automake libtool 需要依赖的包:m4\perl\autotools-dev\autoconf-archive\gnu-standards\ autobook …
手动安装:
»下载对应.tar.gz源码包;解压tar xvf *.tar.gz »编译:./configure;make;make install
Autotools自动创建Makefile流程
•生成Makefile的通用规则文件Makefile.in •(1)手工编写Makefile.am文件
•(2)#automake:将Makefile.am->Makefile.in •生成配置脚本configure •(1)#autoscan:生成configure.scan ->configure.ac
•(2)修改、配置configure.ac
•(3)#aclocal:生成aclocal.m4,存放autoconf运行需要的宏
•(4)#autoconf:将configure.acàconfigure •通过configure生成Makefile •(1)#./configure:Makefile.inàMakefile
•(2)#make;make install
示例:
在autotools下创建hello.c
用autoscan生成configure.scan
mv configure.scan configure.ac
修改configure.ac
1 # -*- Autoconf -*-2 # Process this file with autoconf to produce a configure script.3 4 AC_PREREQ([2.69])5 AC_INIT([FULL-PACKAGE-NAME], [VERSION], [BUG-REPORT-ADDRESS]) //FULL-PACKAGE-NAME 为软件包名, 6 AC_CONFIG_SRCDIR([hello.c])7 AC_CONFIG_HEADERS([config.h])8 9 # Checks for programs.10 AC_PROG_CC11 12 # Checks for libraries.13 14 # Checks for header files.15 16 # Checks for typedefs, structures, and compiler characteristics.17 18 # Checks for library functions.19 20 AC_OUTPUT
1 # -*- Autoconf -*-2 # Process this file with autoconf to produce a configure script.3 4 AC_PREREQ([2.69])5 AC_INIT(hello, 1.0, mail.original.com)6 AC_CONFIG_SRCDIR([hello.c])7 AC_CONFIG_HEADERS([config.h])8 AM_INIT_AUTOMAKE //使用Automake编译9 10 # Checks for programs.11 AC_PROG_CC12 13 # Checks for libraries.14 15 # Checks for header files.16 17 # Checks for typedefs, structures, and compiler characteristics.18 19 # Checks for library functions.20 21 AC_OUTPUT(Makefile) //指定输出文件 Makefiel22 23
aclocal:生成aclocal.m4,存放autoconf运行需要的宏
autoconf:将configure.ac->configure
创建 Makefile.am
autoheader 生成配置文件
automake --add-missing(-a) 生成隐式配置
编译
./configuremakemake installmake uninstall
工具的发展史
linux发行版
GNU Autotools [一]相关推荐
- Autobook中文版(七)—9.一个小的GNU Autotools项目
9.一个小的GNU Autotools项目 本章介绍一个真实的小例子,演示一些GNU Autotools具有的特性,指明一些GNU Autotools使用上的陷阱.所有的源码能被下载从本书的主页上.这 ...
- GNU Autotools 简介
如果你还没有使用过 Autotools,本教程将改变你交付代码的方式. 图片来源: 亚历克斯·桑切斯.CC BY-SA 4.0. 你有没有下载过一个流行的软件项目的源代码,需要你输入几乎仪式化的./c ...
- 《Autotools – GNU Autoconf, Automake与Libtool实践者指南》第一章
最近项目中有用到此部分工具,所以在此转载一篇相关文章,如有侵权,请留言告知! 转载于http://www.xuebuyuan.com/2147621.html 前言 本文根据<Autotools ...
- 使用 GNU Libtool 创建库
介绍 在不同的系统中建立动态链接库的方法有很大的差别,这主要是因为每个系统对动态链接库的看法和实现并不相同,以及编译器对动态链接库支持的选项也不太一样.对于开发人员,如果尝试将使用动态库的软件在这些系 ...
- 转载:使用 GNU Libtool 创建库
转载自:http://www.ibm.com/developerworks/cn/aix/library/1007_wuxh_libtool/ 介绍 在不同的系统中建立动态链接库的方法有很大的差别,这 ...
- autotools入门笔记(一)
GNU autotools作用:收集系统配置信息并自动生成Makefile文件. GNU autotools主要包括三个工具:autoconf.automake.libtool,还有很多辅助的工具,包 ...
- GNU toolchain —— (一)介绍
GNU工具链(GNU toolchain)是一个包含了由GNU项目所产生的各种编程工具的集合.这些工具形成了一条工具链(串行使用的一组工具),用于开发应用程序和操作系统. GNU工具链中包含的项目有: ...
- 使用autotools自动生成Makefile并在此之上使用dh-make生成可发布的deb程序包(详解)
一.前言 本文将介绍如何使用autotools生成一个Makefile文件,并在此基础上使用dh-make和debuild生成一个可发布的deb程序包,这也是我们在Linux下开发应用程序以及想要发布 ...
- TQ2440开发板学习纪实(0.1)--- GNU Freestanding(Naked)C ARM交叉开发环境创建与测试
0 由来 在我的博文 GNU ARM交叉汇编环境的搭建与测试中,详细讲解了GNU ARM汇编环境的创建与使用方法.实际开发中,直接使用汇编语言写的代码往往很少,尽在系统启动和性能要求极其苛刻的时候才会 ...
最新文章
- linux 32位redis安装,CentOS 5.5 32位上安装Redis 2.6报错解决
- 就算是戴上口罩,AI也知道你在说什么丨EMNLP 2020最佳论文
- linux shell 执行 几种方式区别 bash source .
- Web 探索之旅 | 第二部分第一课:客户端语言
- Shell脚本调试工具set
- 网络编程中如何得知一次请求(或响应)的数据已接收完
- 嵌入式计算机的特点和应用,以下描述中,()不是嵌入式操作系统的特点。A.面向应用,可以进行裁剪和移植B.用 - 信管网...
- 2021年KOL市场研究报告
- matlab删掉txt文件中的数据,matlab中读取txt数据文件(txt文本文档)
- 物联网|ZETA技术助力远超抄表实现智能化、精细化
- xubuntu language support
- 使用application记录页面访问次数
- SSD(ECCV 2016)
- Ubuntu18.04风扇狂转的解决办法
- Gobelieve 架构(转载)
- 美的苏宁“超级带货趴”来袭,养成带货达人,大牌净味冰箱带回家
- js基础--数据类型
- ftp下载怎么操作,使用教程
- postgresql 查看用户名
- AutoCAD 使用平铺视口
热门文章
- linux smit工具,Linux安全基础 SMIT入门
- 互联网游戏-数据分析项目
- oracle中 unino,union all,minus,intersect的用法
- 【活动】高效学习方法分享
- MySQL编码致使varchar类型不区分大小写
- 山东大学计算机学院夏令营经验贴.2019
- ThinkPad安装Mac
- DeprecationWarning: NEAREST is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampl
- 回归生活:清理微信公众号
- Elastic的Workplace Search如何使用Gmail或Google Drive等数据源