一、概念
- gcc是一种编译器。将源代码转为可执行文件。
当你的程序只有一个源文件时,直接就可以用gcc命令编译它。但当你的程序包含很多个源文件时,用gcc命令逐个去编译时,你就很容易混乱而且工作量大,所以出现了make工具。
- make是一个批处理工具。在整个项目中管理编译过程。其依据是makefile文件。
- makefile是一个文本文件,用于指挥make。其中包含一系列规则和命令。make 工具通过读取 makefile 中的规则来确定需要重新编译哪些文件,以及执行哪些命令来完成编译过程。
makefile在一些简单的工程完全可以用人工手写,但是当工程非常大的时候,手写makefile也是非常麻烦的,并且如果换了个平台makefile又要重新修改。这时候就出现了Cmake工具。
- cmake是一个跨平台构建工具。cmake可以更加简单的生成makefile文件给make用。
- cmakelist是一个文本文件,用于指挥cmake。
编译(compile):代码变成可执行文件
构建(build):先编译这个,还是先编译那个(即编译的顺序安排)
Make是最常用的构建工具。也就是将编译的顺序写在一个叫Makefile的文件中。Make命令依赖这个文件进行构建。
构建规则都写在Makefile文件里面,要学会如何Make命令,就必须学会如何编写Makefile文件。
二、Makefile
当我们修改某个文件的时候他只会编译其中修改了的文件,而不会编译其他文件,大大缩短了编译时间。