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

AC_INIT([amhello], [1.0], [bug-automake@gnu.org])
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语法类似,

bin_PROGRAMS = hello
hello_SOURCES = main.c

以_PROGRAMS,_LIBRARIES,_DATA,_SCRIPTS结尾的变量是特殊的变量,表明生成的文件类型

bin表示最终的程序安装在bin文件夹中

_PROGRAMS 之后的名字 prog

然后 prog_SOURCES列出所有的源文件,不止一个文件的话,这些文件都会编译连接到一起

SUBDIRS = src
dist_doc_DATA = README

_DATA结尾的文件不会作为tarball的一部分,加入dist_前缀强制做为tarball,doc_前缀将该文件放入doc文件夹中

SUBDIRS 后接的以空格分割

转载于:https://www.cnblogs.com/hopen528/archive/2010/12/07/1816242.html

autotools 学习相关推荐

  1. CMake学习(一)

    什么是 CMake 你或许听过好几种 Make 工具,例如 GNU Make ,QT 的 qmake ,微软的 MS nmake,BSD Make(pmake),Makepp,等等.这些 Make 工 ...

  2. ALSA(二), makefile, Autotools, premake

    http://antkillerfarm.github.io/ 从Gstreamer到ALSA(续) 4.SOC_SINGLE类宏 这里对SOC_SINGLE类的宏,详细说明一下,因为只有这些宏才是真 ...

  3. libevent学习__学习历程总结

    The libevent API provides a mechanism to execute a callback function when a specific event occurs on ...

  4. minigui源码学习

    前言: 个人习惯学习源码先从编译结构了解代码模块,所以先从编译结构开始了解. 如果编译角度搞不定,就代码开始运行时,各个模块初始化的角度开始了解. 学习源码--编译角度 下载源码 git clone ...

  5. 嵌入式开发之路(偏汽车电子嵌入式软件工程师学习路线图)

    文章目录 一.嵌入式开发 1.1前情提要 1.2 学习路线图 1.3 职业 二.嵌入式编程基础 2.1 编程语言 2.1.1 c语言 2.1.2 c++ 2.2 数据结构和算法 2.2.1 数据结构 ...

  6. GNU Autotools 简介

    如果你还没有使用过 Autotools,本教程将改变你交付代码的方式. 图片来源: 亚历克斯·桑切斯.CC BY-SA 4.0. 你有没有下载过一个流行的软件项目的源代码,需要你输入几乎仪式化的./c ...

  7. AutoTools 疑难解决方法

    2011-03-25 20:48 AutoTools 简单入门 [转] 学习GNU/LINUX 开发的编程人员,上手之后不久就会在编译开源软件的时候碰到configure脚本,过段时间还会知道conf ...

  8. autotools工具使用

    AutoTools 傻瓜入门 学习GNU/LINUX开发的编程人员,上手之后不久就会在编译开源软件的时候碰到configure脚本,过段时间还会知道configure脚本是autoconf生成的:但是 ...

  9. TQ2440开发板学习纪实(0.1)--- GNU Freestanding(Naked)C ARM交叉开发环境创建与测试

    0 由来 在我的博文 GNU ARM交叉汇编环境的搭建与测试中,详细讲解了GNU ARM汇编环境的创建与使用方法.实际开发中,直接使用汇编语言写的代码往往很少,尽在系统启动和性能要求极其苛刻的时候才会 ...

  10. 《Autotools – GNU Autoconf, Automake与Libtool实践者指南》第一章

    最近项目中有用到此部分工具,所以在此转载一篇相关文章,如有侵权,请留言告知! 转载于http://www.xuebuyuan.com/2147621.html 前言 本文根据<Autotools ...

最新文章

  1. atom 中首次使用git_使用Atom获得更好的Git提交消息
  2. matlab textsac函数,哈工大-Matlab--2013年春季学期《MATLAB语言及应用》试题
  3. BZOJ 4066: 简单题
  4. 实例49:python
  5. mysql排重_mysql 排重查询
  6. linux-组管理-添加组-删除组
  7. 13.C#的函数练习
  8. day26(模块 logging 高级用法、collection、random)
  9. NHibernate视频教程
  10. Optisystem中器件的学习(3-WDM Multiplexers Library/Optical Fibers Library/Amplifiers Library/Fiters Librar)
  11. 关于MeScroll的下拉刷新,上拉加载的js框架的学习和使用
  12. 软件烧录的测试方法,烧录测试座使用及保养
  13. Market Risk Modeling
  14. 天水市2021年高考成绩查询,2021年天水高考状元是谁分数多少分,历年天水高考状元名单...
  15. 一种增加图像自然饱和度的方法
  16. 平衡树学习笔记之 fhq Treap
  17. UDP协议的特点及UDP头部结构
  18. vue+springcloud出现跨域问题
  19. 计算机系毕业祝福语,搞笑开心的毕业祝福语
  20. 端口映射工具PortTunnel

热门文章

  1. 全卷机神经网络图像分割(U-net)-keras实现
  2. 人脸预处理工具FaceTools
  3. python实现基于北大开源的分词工具 pkuseg 进行分词实践
  4. 20170908在线编程之圆周上问两点间的距离问题
  5. 一个基于特征向量的近似网页去重算法
  6. 在linux中配置编译u-boot方法,U-Boot编译过程解析
  7. java 整数相乘_Java中两个int相乘的结果是怎么算的?
  8. 深度学习 占用gpu内存 使用率为0_2020年深度学习最佳GPU一览,看看哪一款最适合你!...
  9. C++ boost::upgrade_lock upgrade_to_unique_lock 升级锁 是什么 怎么用
  10. 区块链 什么是DAPP