devops 信创在数字经济时代提升企业竞争力的关键策略
654
2022-10-09
make命令的自动推导
GNU 的 make 可以自动推导文件以及文件依赖关系后面的命令。因此,我们就没必要在 每个 .o 文件后都写上类似的命令, make命令会自动识别,并进行推导命令。
当make命令看到一个 .o 文件,它就会自动把 .c 文件加在依赖关系中,例如make找到main.o,就可以推导出main.c就是main.o的依赖文件,并且推导出要执行的命令gcc -c main.c。所以,我们的makefile文件可以表达得更简单些。旧的(不用推导):
OBJECTS = main.o hello.oapp:$(OBJECTS) gcc -o app $(OBJECTS) main.o:main.c hello.h gcc -c\ main.chello.o:hello.c hello.h gcc -c hello.cclean: rm app $(OBJECTS)
新的(需要推导):
OBJECTS = main.o hello.oapp:$(OBJECTS) gcc -o app $(OBJECTS) main.o:hello.hhello.o:hello.hclean: rm app $(OBJECTS)
对新的makefile文件执行一下make命令:
~/Desktop/mydir$ makecc -c -o main.o main.ccc -c -o hello.o hello.cgcc -o app main.o hello.o ~/Desktop/mydir$ lsapp hello hello.c hello.h hello.o main.c main.o makefile~/Desktop/mydir$ ./appHello world88!
谢谢阅读!
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~