1. 概述
makefile文件描述了人C/C++工程的编译规则,它根据我们事先写好的MakeFile文件,自动化编译C/C++项目。
一个大型项目的源文件可能多达千个,他们按照功能、模板、类型 分别放在不同目录中,通过Makefile 定义了一些列规则,
指明了源文件的编译顺序、依赖关系、是否需要重新编译。
1.1 为什么要用Makefile
通常我们在开发c/c++程序的过程中,需要将多个源文件编译为一个文件时:
1
gcc -o main main.c tools.c file.c ...
如果源文件数量不是很多的话,我们还可以选择这种方式进行编译。如果文件非常多的话,就会遇到一下问题:
tools.c中使用了数学计算库math中的函数,我们就得手动添加参数-lmath;file.c中使用了SQLite中的函数,我们需要手动添加参数-lsqlite3main.c中使用到了线程,我们需要手动去添加参数lpthread1.1.1 编译的时候需要链接库的问题: