https://ke.qq.com/course/466167?taid=4166590723988727
https://ke.qq.com/course/466167?taid=4166595018956023
https://ke.qq.com/course/466167?taid=4166599313923319
https://book.100ask.org/documentation/6-3/6-3.html#id10
makefile 的作用高效的编译,减少不必要的编译,只编译涉及到的文件
一个简单的规则:依赖里面有修改了 那么执行下面的命令,千万要记得 前面要有tab而不是空格,这里怎么判断呢 就是判断 taeget的时间和依赖文件的时间对比
target :依赖
tab:命令
test:main.o sub.o
gcc -o test main.o sub.o
保存为Makefile
执行的两个条件 : 依赖比目标新,目标还没有生成
执行 直接执行make命令就可以了
2: 为了方便后面的维护和更新
编译由原来的
gcc -o test main.c sub.c
改为
gcc -c -o main.o main.c
gcc -c -o sub.o sub.c
gcc -o test main.o sub.o
Makefile 的更新:
test:main.o sub.o
gcc -o test main.o sub.o
main.o:main.c
gcc -c -o main.o main.c
sub.o:sub.c
gcc -c -o sub.o sub.c
clean:
rm *.o test -f
3: 删除不必要的o文件
clean:
Tab rm *.o test -f
通过命令行make clean 来执行
4: 使用通配符来更新 减少
%.c:%o
Tab gcc $@ &
test:main.o sub.o
gcc -o test main.o sub.o
%.o : %.ca
gcc -c -o $@ $<
sub.o : sub.h
clean:
rm *.o test -f
5:
本文详细介绍了Linux驱动开发中Makefile的作用和重要性,如何利用Makefile实现高效编译,避免不必要的文件重新编译。内容包括:Makefile的基本规则、依赖判断、目标与依赖文件的时间对比,以及如何编写和执行Makefile。此外,还讲解了如何通过Makefile进行编译优化,如使用通配符减少规则,并展示了清理.o文件的clean目标。

被折叠的 条评论
为什么被折叠?



