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

.SUFFIXES:

在 Makefile 中,.SUFFIXES: 是用于声明后缀规则的一个特殊变量,用来定义文件扩展名转换规则。它用于处理不同文件类型之间的自动转换,尤其是在没有显式规则的情况下。

作用:

  • .SUFFIXES: 清空当前 Makefile 中所有的后缀规则。这意味着 Makefile 不再默认处理常见的文件后缀转换(例如 .c.o.f.o)。

  • .SUFFIXES: .f90 .f .o 重新定义了一些后缀规则,允许从 .f90.f 文件生成 .o 文件。添加这些后缀的意义在于,Makefile 能够根据文件扩展名自动推导出编译规则。例如,可以自动从 .f90 文件生成 .o 文件,而不需要显式定义每个文件的规则。

使用场景:

通常,.SUFFIXES: 和后缀规则用于让 Makefile 自动识别文件类型,并在编译时自动处理不同类型文件的转换。清空 .SUFFIXES 列表并重新定义它,可以让开发者自定义哪些文件类型间可以自动转换,以及如何处理这些转换。

示例:

.SUFFIXES:  # 清空默认的后缀规则
.SUFFIXES: .f90 .o  # 定义新的后缀规则

.f90.o:  # 定义从 .f90 到 .o 的转换规则
    $(FC) $(FCFLAGS) -c $<

在这个例子中:

  • .SUFFIXES: .f90 .o 表示 Makefile 会根据这些后缀进行转换,遇到 .f90 文件时,会自动尝试将其转换为 .o 文件。
  • 这和手动列出所有文件的转换规则相比,减少了重复代码的书写工作,同时使 Makefile 更加简洁。

总结:

.SUFFIXES: 是一种简便的机制,用来定义不同文件后缀的自动转换规则。通过 .SUFFIXES,你可以灵活地控制哪些文件类型会自动进行转换,以及它们之间的转换规则。


http://www.kler.cn/news/307061.html

相关文章:

  • openGemini 社区人才培养计划:助力成长,培养新一代云原生数据库人才
  • Redis面试题整理
  • 信息学奥赛:青少年编程的高光舞台,通向未来科技的敲门砖
  • 冒泡,选择,快速-排序
  • nestjs cache manager 很ioredis配合使用方案
  • Python Pyvis库创建交互式网络图 高级功能详解
  • 设计模式---中介者模式
  • 智能客服 | AI助理与内部知识库如何优化用户体验
  • 机器学习-深度学习数据集之打架斗殴识别数据集
  • Mysql InnoDB 存储引擎简介
  • Python 解析 JSON 数据
  • RabbitMQ高级篇,进阶内容
  • 【题解】AT_arc035_b [ARC035B] アットコーダー王国のコンテスト事情
  • 手势开关灯
  • 宿舍管理系统的设计与实现 (含源码+sql+视频导入教程)
  • 【Kubernetes】常见面试题汇总(十八)
  • git rev-parse
  • Nginx 文件名逻辑漏洞(CVE-2013-4547)
  • BM5 合并k个已排序的链表
  • 一、机器学习算法与实践_01基本概念与项目流程笔记
  • 一句话描述设计模式
  • 深入分析计算机网络性能指标
  • 无人机培训机构组装调试技术详解
  • 【我的 PWN 学习手札】Fastbin Double Free
  • 【系统分析师】-安全体系
  • 鸿蒙轻内核A核源码分析系列七 进程管理 (2)
  • 华为OD机试真题E卷-计算网络信号(含题目描述+解题思路+代码解析)
  • 记录一下gitlab社区版的安装教程
  • 通过TensorBoard查看服务器训练过程
  • 【LeetCode】每日一题 2024_9_15 与车相交的点(差分)