文章目录
- Makefile的作用
- 语法规则
- Clean
一、Makefile的作用
假如我们用gcc进行编译几十,几百个代码,gcc xx.c xx.c xx.c ..... -o main,那不是我们每次进行编译都要写几百次gcc,大大降低了工作的效率,但是我们用makefile进行编译,每次只需要make一下就行了,它可以使我们编译项目变得自动化,不需要每次编译都要输很多参数,且makefile它只编译我们修改过的文件,没有修改它就不进行编译。
二、语法规则
目标文件:依赖文件
命令
每次make的时候,都会先从一个目标文件进行操作,如果没有目标文件所需要的依赖文件,就继续向下执行,当所有的依赖文件都有了过后,就去执行目标文件的命令。
也可以用shell的语法使用变量
obj=main.o test.o xx.o
main:$(obj)
gcc $(obj) -o main
test.o:test.c
gcc -c test.c -o test.o
三、Clean
每次make过后都会生成大量的文件,比如xxx.o这些文件,我们可以每次make成功过后,就进行删除。
main:main.o
gcc main.o -o main
main.o:main.c
gcc -c main.c -o main.o
clean:
rm -rf *.o
但是如果当前目标有clean这个文件他就会出错,所以我们要写一个假象文件,也就是伪文件,让他不出错。
main:main.o
gcc main.o -o main
main.o:main.c
gcc -c main.c -o main.o
.PHONY:clean
clean:
rm -rf *.o