在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
1 make、makefile概述makefile定义了一系列的规则,来规定哪些部分先编译,哪些部分后编译,写好makefile以后,只需一个make命令就可以让整个工程完全自动编译,所以简单的说,make&makefile实现了大工程的自动化编译。 2 makemake是如何工作的?
根据make的依赖性,make会一层层地去找文件的依赖性,直到最终第一个target文件被编译成功。整个过程类似于数据结构中栈的操作。 3 makefile3.1 makefile里是什么?例子: target:main.o test.o
cc -o target main.o teat.o
main.o:main.c x.h
cc -c main.c
test.o:test.c y.h
cc -c test.c
clean:
rm target main.o test.o
可以看出,makefile中主要由两个部分组成:
其中clean是一个伪目标文件,可用".PHONY:clean"在其前面注明。执行make命令即可编译,执行make clean即可删除所有目标文件。 3.2 makefile中的变量赋值?
3.3 简化makefile可以利用变量减少重复,及利用makefile的自动推导简化makefile,例如: #Makefile
objects:main.o test.o
target:$(objects)
cc -o target $(objects)
main.o:x.h #这就用到了自动推导。
test.o:y.h
.PHONY:clean #说明clean是一个伪目标文件。
clean:
rm target $(objects)
因为这个编译较简单,优势可能不太明显,若要是大工程,变量和自动推导的使用会让makefile有很大的简化。 注:
include foo.make
参考:https://www.cnblogs.com/dengchj/p/4379645.html |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论