autotools 学习
autotools 学习(9.2写的草稿,还是发了吧)
概述
需要手动书写的文件:configure.ac Makefile.am
automake负责生成 Makefile.in,根据Makefile.am & configure.ac
autoconf 负责生成 configure,根据configure.ac
autoreconf 是一个按正确顺序调用automake\autoconf命令的脚本
autoconf
autoconf 可以看作是在shell语言的top层,是一个宏替换器
宏名和括号之间没有空格,参数要带上'[]'
autoscan 可以自动生成configure.ac
AM_INIT_AUTOMAKE([-Wall -Werror foreign])
AC_PROG_CC
AC_CONFIG_HEADERS([config.h])
AC_CONFIG_FILES([
Makefile
src/Makefile
])
AC_OUTPUT
AC_CONFIG_HEADERS 生成config.h
AC_CONFIG_FILES automake也要查看此宏,每次加入一个Makefile.am都要在这里加入一项
automake
Makefile.am和普通Makefile语法类似,
hello_SOURCES = main.c
以_PROGRAMS,_LIBRARIES,_DATA,_SCRIPTS结尾的变量是特殊的变量,表明生成的文件类型
bin表示最终的程序安装在bin文件夹中
_PROGRAMS 之后的名字 prog
然后 prog_SOURCES列出所有的源文件,不止一个文件的话,这些文件都会编译连接到一起
dist_doc_DATA = README
_DATA结尾的文件不会作为tarball的一部分,加入dist_前缀强制做为tarball,doc_前缀将该文件放入doc文件夹中
SUBDIRS 后接的以空格分割
转载于:https://www.cnblogs.com/hopen528/archive/2010/12/07/1816242.html
autotools 学习相关推荐
- CMake学习(一)
什么是 CMake 你或许听过好几种 Make 工具,例如 GNU Make ,QT 的 qmake ,微软的 MS nmake,BSD Make(pmake),Makepp,等等.这些 Make 工 ...
- ALSA(二), makefile, Autotools, premake
http://antkillerfarm.github.io/ 从Gstreamer到ALSA(续) 4.SOC_SINGLE类宏 这里对SOC_SINGLE类的宏,详细说明一下,因为只有这些宏才是真 ...
- libevent学习__学习历程总结
The libevent API provides a mechanism to execute a callback function when a specific event occurs on ...
- minigui源码学习
前言: 个人习惯学习源码先从编译结构了解代码模块,所以先从编译结构开始了解. 如果编译角度搞不定,就代码开始运行时,各个模块初始化的角度开始了解. 学习源码--编译角度 下载源码 git clone ...
- 嵌入式开发之路(偏汽车电子嵌入式软件工程师学习路线图)
文章目录 一.嵌入式开发 1.1前情提要 1.2 学习路线图 1.3 职业 二.嵌入式编程基础 2.1 编程语言 2.1.1 c语言 2.1.2 c++ 2.2 数据结构和算法 2.2.1 数据结构 ...
- GNU Autotools 简介
如果你还没有使用过 Autotools,本教程将改变你交付代码的方式. 图片来源: 亚历克斯·桑切斯.CC BY-SA 4.0. 你有没有下载过一个流行的软件项目的源代码,需要你输入几乎仪式化的./c ...
- AutoTools 疑难解决方法
2011-03-25 20:48 AutoTools 简单入门 [转] 学习GNU/LINUX 开发的编程人员,上手之后不久就会在编译开源软件的时候碰到configure脚本,过段时间还会知道conf ...
- autotools工具使用
AutoTools 傻瓜入门 学习GNU/LINUX开发的编程人员,上手之后不久就会在编译开源软件的时候碰到configure脚本,过段时间还会知道configure脚本是autoconf生成的:但是 ...
- TQ2440开发板学习纪实(0.1)--- GNU Freestanding(Naked)C ARM交叉开发环境创建与测试
0 由来 在我的博文 GNU ARM交叉汇编环境的搭建与测试中,详细讲解了GNU ARM汇编环境的创建与使用方法.实际开发中,直接使用汇编语言写的代码往往很少,尽在系统启动和性能要求极其苛刻的时候才会 ...
- 《Autotools – GNU Autoconf, Automake与Libtool实践者指南》第一章
最近项目中有用到此部分工具,所以在此转载一篇相关文章,如有侵权,请留言告知! 转载于http://www.xuebuyuan.com/2147621.html 前言 本文根据<Autotools ...
最新文章
- atom 中首次使用git_使用Atom获得更好的Git提交消息
- matlab textsac函数,哈工大-Matlab--2013年春季学期《MATLAB语言及应用》试题
- BZOJ 4066: 简单题
- 实例49:python
- mysql排重_mysql 排重查询
- linux-组管理-添加组-删除组
- 13.C#的函数练习
- day26(模块 logging 高级用法、collection、random)
- NHibernate视频教程
- Optisystem中器件的学习(3-WDM Multiplexers Library/Optical Fibers Library/Amplifiers Library/Fiters Librar)
- 关于MeScroll的下拉刷新,上拉加载的js框架的学习和使用
- 软件烧录的测试方法,烧录测试座使用及保养
- Market Risk Modeling
- 天水市2021年高考成绩查询,2021年天水高考状元是谁分数多少分,历年天水高考状元名单...
- 一种增加图像自然饱和度的方法
- 平衡树学习笔记之 fhq Treap
- UDP协议的特点及UDP头部结构
- vue+springcloud出现跨域问题
- 计算机系毕业祝福语,搞笑开心的毕业祝福语
- 端口映射工具PortTunnel
热门文章
- 全卷机神经网络图像分割(U-net)-keras实现
- 人脸预处理工具FaceTools
- python实现基于北大开源的分词工具 pkuseg 进行分词实践
- 20170908在线编程之圆周上问两点间的距离问题
- 一个基于特征向量的近似网页去重算法
- 在linux中配置编译u-boot方法,U-Boot编译过程解析
- java 整数相乘_Java中两个int相乘的结果是怎么算的?
- 深度学习 占用gpu内存 使用率为0_2020年深度学习最佳GPU一览,看看哪一款最适合你!...
- C++ boost::upgrade_lock upgrade_to_unique_lock 升级锁 是什么 怎么用
- 区块链 什么是DAPP