1.讲Makefile文件之前,需要先简单说一下文件的“编译过程”,如下所示:
预处理→编译→汇编→链接
这是一个将我们编写的程序编程可执行文件的一个过程,因为我们实际项目中程序会非常的多,如果每一个文件都单独编写执行这样的一个过程会非常的不方便,并且许多程序有时候也不需要这样的一个过程,为了方便管理和效率的问题,就必须引入Makefile这样的文件。
2.Makefile规则:
目标文件:依赖文件
(tab键)命令
在这样的规则下,如果依赖文件比目标文件新或者目标文件不存在,就会执行命令。在一个Makefile文件中可以存在很多这样的规则,当我们make的时候会默认执行第一个规则,如果想要执行某个规则则可以使用”make 目标文件“。
eg:
led_test : led.o
gcc -o led_test led.o
led.o : led.c
gcc -c -o led.o led.c
clean:
rm *.o *.elf
如果以上代码在Makefile文件中,当我们执行make命令时,就会生成led_test可执行文件,当我们执行make clean时就会删除所有的.o文件和所有的.elf文件。
当然以上只是Makefile 最基本的用法,它还有其他非常强大的功能,大家可以进行深入的学习。