Makefile
Makefile
一、Makefile规范
目标文件1:依赖文件1 依赖文件1.1......
(tab键)依赖文件1如何生成目标文件
目标文件2:依赖文件2
(tab键)依赖文件2如何生成目标文件
注意:
1、两个文件之间没有任何关系,系统默认只执行目标文件1
2、一个Makefile可以有多个目标文件
3、调用make命令时,需要告诉他目标是什么,没有制定目标文件时,
那么make以Makefile文件中定义的第一个目标作为这次的执行文件
例:make clean//执行目标文件clean和它所对应的命令
4、先会执行依赖文件
例:
目标文件1:目标文件2
(tab键)echo “1”
目标文件2:依赖文件2
(tab键)echo “2”
结果:先输出2再输出1
二、解决假目标的方法;
在执行make clean的时候
问题:如果文件目录里面有clean文件了,就会出现问题
解决方法:在我们的clean前面再加一个依赖.PHONY:clean就可以了
三、预定义变量
Makefile 预定义变量包含了编译器常见的名称及其编译选项
CC c编译器的名称 默认为gcc;例CC:=gcc
CFLAGS c编译器的选项 无默认值例CFLAGS:=-c -g
RM 文件删除程序的别名 默认为rm -rf
四、自定义变量
OBJ和OBJS:一个用于存放可执行文件名,另一个用于放置所有的目标文件名;
五、自动变量
$@:表示目标文件
$^:表示所有的依赖文件
$<:第一个依赖文件
感想收获~
1、目标文件和依赖文件其实就只是一种命令的执行顺序,或者说只是给命令加一个执行顺序。
2、Makefile里面:@命令行//表示只执行该命令行而不输出,因为Makefile在执行的时候是默认将命令输出出来的;
__EOF__
本文链接:https://www.cnblogs.com/JinShanCheShen/p/16003454.html
关于博主:山不向我走来,我便向他走去!
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· 单线程的Redis速度为什么快?
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码