一、基本概念
CMake 与 Automake 最终会转换为 Makefile 文件,然后执行 Makefile 相关的操作命令。
1.1 Makefile
Makefile 定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至于进行更复杂的功能操作,因为 Makefile 就像一个 Shell 脚本一样,其中也可以执行操作系统的命令。
1.2 CMake
CMake 是一个跨平台的安装(编译)工具,可以用简单的语句来描述所有平台的安装(编译过程)。他能够输出各种各样的makefile 或者 project 文件。
1.3 Automake
Automake 是一种帮助自动产生 Makefile 文件的软件。程序设计者只需要写一些预先定义好的宏,提交给 Automake 处理后会产生一个可以供 Autoconf 使用的 Makefile.in文件。再配合利用 Autoconf产生的自动配置设置文件 configure 即可产生一份符合 GNU Makefile 惯例的 Makeifle 了。
二、编译流程
2.1 Makefile 编译
# 编译源码(当前路径为 Makefile 文件所在目录)
make
# 安装编译后的头文件、库文件和可执行文件(非管理员需要su)
make install
2.2 CMake 编译
# 此处以 outside-build 为例
mkdir build
# 在此处执行构工作,产生的所有文件均位于此处,不影响原工程文件.
cd build
# 自动构建 Makefile 文件
cmake ..
# 编译源码
make
# 安装库
make install
2.3 Automake 编译
# 根据目标平台实例化配置文件
autoreconf --install
# 自动构建 Makefile 文件
./configure
# 编译源码
make
# 安装库
make install
三、参考资料
- 1. 创建一个 Automake 工程
发表回复