1.Makefile
作用:描述整个工程编译和链接规则,包含哪些文件需要编译,哪些文件不需要编译,哪些文件先编译后编译
对于很多源文件需要编译的情况下,用gcc命令编译会很麻烦
需要链接第三方库时,将需要链接的库文件放在Makefile中,简化手动编译
2.Makefile组成
1)变量定义
2)显示规则
3)隐晦规则
4)注释:只有行注释,“#”
3.Makefile基本语法
# Makefile 内容通常由以下部分组成
# <目标>: <前置依赖>
#
<需要执行的命令>
# 放在第一个的是默认目标
# 目标为编译出main文件,依赖main.o和hello.o文件
# 编译的命令为 gcc -o main hello.o main.o
main: hello.o main.o
gcc -o main hello.o main.o
# main.o 目标依赖main.c hello.h
# 编译命令为gcc -c main.c
main.o: main.c hello.h
gcc -c main.c# hello.hello.c hello.h
# 编译命令为gcc -c hello.c
hello.o: hello.c hello.h
gcc -c hello.c
# clean 目标可以清理编译的临时文件
clean:
rm main main.o hello.o
注:Makefile中每个规则的命令必须以制表符Tab开始,而不能是空格,否则会提示“缺失分隔符”
符号含义: