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