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 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   西北小蚂蚁  阅读(207)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· 单线程的Redis速度为什么快?
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
点击右上角即可分享
微信分享提示