前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Makefile的详细介绍和使用

Makefile的详细介绍和使用

作者头像
乱码三千
发布2021-08-24 14:52:13
5730
发布2021-08-24 14:52:13
举报
文章被收录于专栏:乱码三千乱码三千

待完善。。。

makefile详细介绍和使用

Makefile定义规则

参考链接1:https://seisman.github.io/how-to-write-makefile/invoke.html

参考链接2:https://www.cnblogs.com/LittleHann/p/3855905.html

规则是makefile最重要的概念,其告诉make 目标文件的依赖关系,以及如何生成及更新这些目标文件。在makefile文件规则有2种,一种是显式规则,另一种是隐式规则。

  1. 显示规则

显式规则用于说明何时及如何重新生成目标,其列出了目标依赖的文件信息,并通过调用命令来创建或更新目标,其语法一般为:

代码语言:javascript
复制
targets : prerequisites

recipe
…

targets:为要生成或更新的目标

prerequisites:为目标依赖的关系

recipe:为生成目标的命令,

代码语言:javascript
复制
foo.o : foo.c defs.h

cc -c -g foo.c

其中foo.o为target,foo.c defs.h 为prerequisites,cc -c -g foo.c为recipe。

示例讲解
代码语言:javascript
复制
test:main.o channle.o
	gcc main.o channle.o -o test
main.o:main.c function.h
	gcc -c main.c -o main.o
channle.o:channle.c  WavHead.h
	gcc -c channle.c -o channle.o -std=c99

.PHONY:clean
clean:
	-rm -rf *.o

执行的过程简单说就是最终需要生成一个名为test的文件,这个文件需要main.ochannle.o,于是继续往下执行,然后通过命令gcc -c main.c -o main.o得到了main.o文件,同理再得到channle.o文件,最后通过命令gcc main.o channle.o -o test进行链接最终就会得到一个名为test的可执行文件了。

上面的代码在linux的命令窗口下输入make命令就可以执行了,最终会生成一个test的可执行文件。如果需要清除生成的中间.o文件,输入make clean就可以全部清除了。

乱码三千 – 点滴积累 ,欢迎来到乱码三千技术博客站

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-08-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 乱码三千 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Makefile定义规则
    • 示例讲解
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档