对于Automake和autoconf联合生成makefile文件的一些个人认识
来源:互联网 发布:实战最强的武术知乎 编辑:程序博客网 时间:2024/05/16 05:38
最近被操作系统搞的死去活来的,全都是因为SILT键值对存储系统,这不难让我想到了原来看过在社交网络里开头的时候扎克伯格对操作系统和是头疼的桥段,哈哈,闲话少说。
我在IBM的官方网站上见到这幅图,感觉理解很是加深了。
生成 Makefile 的来龙去脉
首先进入 project 目录,在该目录下运行一系列命令,创建和修改几个文件,就可以生成符合该平台的Makefile文件,操作过程如下:
1) 运行autoscan命令
2) 将configure.scan 文件重命名为configure.in,并修改configure.in文件
3) 在project目录下新建Makefile.am文件,并在core和shell目录下也新建makefile.am文件
4) 在project目录下新建NEWS、 README、 ChangeLog 、AUTHORS文件
5) 将/usr/share/automake-1.X/目录下的depcomp和complie文件拷贝到本目录下
6) 运行aclocal命令
7) 运行autoconf命令
8) 运行automake -a命令
9) 运行./confiugre脚本
可以通过图2看出产生Makefile的流程,如图所示
实战Makefile.am
Makefile.am是一种比Makefile更高层次的规则。只需指定要生成什么目标,它由什么源文件生成,要安装到什么目录等构成。
表一列出了可执行文件、静态库、头文件和数据文件,四种书写Makefile.am文件个一般格式。
在Makefile.am中尽量使用相对路径,系统预定义了两个基本路径:
在上文中我们提到过安装路径,automake设置了默认的安装路径:
1) 标准安装路径
默认安装路径为:$(prefix) = /usr/local,可以通过./configure --prefix=<new_path>的方法来覆盖。
其它的预定义目录还包括:bindir = $(prefix)/bin, libdir = $(prefix)/lib, datadir = $(prefix)/share, sysconfdir = $(prefix)/etc等等。
2) 定义一个新的安装路径
比如test, 可定义testdir = $(prefix)/test, 然后test_DATA =test1 test2,则test1,test2会作为数据文件安装到$(prefix)/ /test目录下。
我们首先需要在工程顶层目录下(即project/)创建一个Makefile.am来指明包含的子目录:
- 对于Automake和autoconf联合生成makefile文件的一些个人认识
- 例解 autoconf 和 automake 生成 Makefile 文件
- autoconf 和automake生成Makefile文件
- 例解 autoconf 和 automake 生成 Makefile 文件
- 例解 autoconf 和 automake 生成 Makefile 文件
- 例解 autoconf 和 automake 生成 Makefile 文件
- 例解 autoconf 和 automake 生成 Makefile 文件
- 例解 autoconf 和 automake 生成 Makefile 文件
- autoconf 和automake生成Makefile文件
- autoconf 和automake生成Makefile文件
- autoconf 和automake生成Makefile文件
- 例解 autoconf 和 automake 生成 Makefile 文件
- 例解 autoconf 和 automake 生成 Makefile 文件
- 例解 autoconf 和 automake 生成 Makefile 文件
- 例解 autoconf 和 automake 生成 Makefile 文件
- 例解 autoconf 和 automake 生成 Makefile 文件
- 例解 autoconf 和 automake 生成 Makefile 文件
- autoconf 和 automake 生成 Makefile 文件
- Android对话框显示后自动消失
- js追加事件执行代码场景
- RPC最全总结
- 记JAVA的二三事(2)——JVM存储区+hashCode()和equals()的隐式约定
- rsync 实现文件备份同步
- 对于Automake和autoconf联合生成makefile文件的一些个人认识
- 新手学Linux(一)----安装JDK
- C++模板元编程 入门简介
- Hadoop RPC框架
- mac版本sublime 快捷键
- 笔记本上CentOS7合盖后黑屏但不进入睡眠模式
- Hadoop RPC远程过程调用源码解析及实例
- iOS-Objective-C 学习笔记一:数据类型
- 因子分析