工程管理器make
1、什么是工程?----如何编写Makefile文件
多个源文件+其他文件(图片+头文件+脚本文件)
2、工程管理器的作用->自动编译
编译多个源文件------------gcc+所有源文件 -o 可执行文件
3、make的依赖Makefile文件
4、Makefile文件是一种脚本文件(批处理),存在相关语法;
5、Makefile语法
三要素:目标、依赖、命令
格式:
目标:依赖
tab 命令
目标:最终生成的文件
依赖:生成目标时所需要的文件
命令:生成目标时,需要执行的命令
执行顺序:
make:默认从第一个目标体执行
make+目标体:从对应的目标体执行
如果目标体后面依赖的文件是一个目标的话,先执行依赖对应的目标,再执行目标体的命令。
做法
新建一个make-test文件夹,在文件夹里写一个hello.c和makefile文件。
hello.c文件:
makefile文件:
此时输入命令make会生成一个hello可执行文件
PS:两种生成hello的方法
关于执行顺序
真目标都会生成对应的文件,伪目标只会执行对应的命令。
.PHONY是一个特殊工作目标(special target),它用来指定一个假想的工作目标,也就是说它后面的并不是一个实际文件,而且肯定要视为未更新(也就是说条件总是满足,需要处理)
编写makefile文件:其中clean是一个伪目标
make+目标:从对应目标开始执行
修改后示例:
使make的时候命令不回响,不显示的方式,就是在Makefile每条命令的前面加@。但是缺点是,不知道有没有编译好。
解决方式就是在命令的下面加@echo make done!命令,在完成以后,系统会显示make done!