当前位置: 首页 > news >正文

Makefile 之 自动化变量


    作用范围只在这条规则以及连带规则中,所以其值也只在作用范围内有效。而不会影响规则链以外的全局变量的值。


    "$@" 表示目标的集合,就像一个数组,"$@"依次取出目标,并执于命令。


    "$<"和"$@"则是自动化变量,

    "$<"表示所有的依赖目标集(也就是"foo.c bar.c"),

    "$@"表示目标集(也就是"foo.o bar.o")。


    %.o : %.c
    $(CC) -c $(CFLAGS) $(CPPFLAGS) $< -o $@

    其中,"$@"表示所有的目标的挨个值,"$<"表示了所有依赖目标的挨个值。这些奇怪的变量我们叫"自动化变量".


    "$@ 扩展成当前规则的目的文件名,
    "$< 扩展成依靠列表中的第一个依靠文件,
    "$^ 扩展成整个依靠的列表(除掉了里面所有重复的文件名)。利用这些变量,
    "自动环变量“$?”在这里表示依赖文件列表中被改变过的所有文件。


    '$@  表示目标文件
    '$^  表示所有的依赖文件
    '$<  表示第一个依赖文件
    '$?  表示比目标还要新的依赖文件列表

http://www.lryc.cn/news/488031.html

相关文章:

  • 鸿蒙开发:ForEach中为什么键值生成函数很重要
  • 沃丰科技智能外呼机器人:超越人工,重塑外呼体验
  • 百度飞浆:paddle 线性回归模型
  • 【JavaSE】【网络编程】UDP数据报套接字编程
  • 45.坑王驾到第九期:Mac安装typescript后tsc命令无效的问题
  • 20241120-Milvus向量数据库快速体验
  • 【Golang】——Gin 框架中间件详解:从基础到实战
  • 量子计算来袭:如何保护未来的数字世界
  • VMware虚拟机(Ubuntu或centOS)共享宿主机网络资源
  • 光伏电站仿真系统的作用
  • Golang文件操作
  • 爬虫开发工具与环境搭建——使用Postman和浏览器开发者工具
  • React(二)
  • 同步原语(Synchronization Primitives)
  • SpringBoot服务多环境配置
  • STM32单片机CAN总线汽车线路通断检测-分享
  • 【环境搭建】使用IDEA远程调试Docker中的Java Web
  • 贴代码框架PasteForm特性介绍之select,selects,lselect和reload
  • STM32G4的数模转换器(DAC)的应用
  • SpringMVC跨线程获取requests请求对象(子线程共享servletRequestAttributes)和跨线程获取token信息
  • 提取repo的仓库和工作树(无效)
  • 力扣整理版七:二叉树(待更新)
  • 基于单片机的多功能环保宠物窝设计
  • HBase 基础操作
  • 小米顾此失彼:汽车毛利大增,手机却跌至低谷
  • PCL 三维重建 a-shape曲面重建算法
  • 【Android】线程池的解析
  • 集群聊天服务器(8)用户登录业务
  • Go语言中的错误嵌套
  • 51单片机基础 06 串口通信与串口中断