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
中的函数,我们需要手动添加参数-lsqlite3
main.c
中使用到了线程,我们需要手动去添加参数lpthread
1.1.1 编译的时候需要链接库的问题: