makefile(规则后面加分号)

embedded/2024/12/23 5:33:01/

在 Makefile 中,规则的基本结构是:

target: prerequisitescommands

然而,如果你想在同一行中定义规则的目标和命令,可以使用分号 ; 来分隔命令和目标。也就是说,分号允许你在定义规则时将命令写在与目标和依赖项同一行,而不需要换行。

解释:

.f.o:;  ${FC} ${FCFLAGS} -c $*.f
  • .f.o: 是一个模式规则,表示从 .f 文件生成 .o 文件。
  • ; 是用于将规则的目标和命令写在同一行的分隔符。
  • ${FC} ${FCFLAGS} -c $*.f 是编译 .f 文件的命令,其中:
    • ${FC} 是 Fortran 编译器。
    • ${FCFLAGS} 是编译器的标志。
    • -c 表示只编译,不链接。
    • $*.f 代表模式匹配中 .f 文件的基名(不带后缀),例如,如果输入文件是 example.f,则 $* 代表 example,因此 $*.f 就是 example.f

为什么要加分号?

通常,在 Makefile 中的命令部分是写在目标和依赖项的下一行,并且使用 Tab 缩进来表示。例如:

.f.o:${FC} ${FCFLAGS} -c $*.f

这种方式较为直观,但是在某些场景中,你可能希望简化写法,将规则和命令写在同一行,这时你就需要用分号 ; 来分隔目标(.f.o:)和命令(${FC} ${FCFLAGS} -c $*.f)。因此,分号的作用是:

  • 分隔目标和命令,允许你在同一行内定义目标的依赖和执行的命令。

使用场景:

  • 代码简洁性:在一些较小的 Makefile 中,使用分号可以减少行数,使 Makefile 看起来更加紧凑。
  • 单一命令的规则:如果某个规则只有一个简单的命令,可以考虑将它写在同一行,使用分号来分隔。

总结:

在规则中使用分号 ; 是为了在同一行内定义目标和命令。如果命令较少或者为了代码的简洁性,这种写法比较常见。不过,如果 Makefile 中命令较多、较复杂,还是推荐使用换行的形式来增强可读性。


http://www.ppmy.cn/embedded/111166.html

相关文章

软考学习 数据结构 排序

1. 冒泡排序(Bubble Sort) 基本原理: 冒泡排序是一种简单的交换排序算法,它通过重复地遍历要排序的数列,依次比较相邻的两个元素,并在顺序错误时交换它们的位置。每一轮遍历后,最大的元素会“…

[001-03-007].第26节:分布式锁迭代1->基于setnx命令实现分布式锁:

我的博客大纲 我的后端学习大纲 1、setnx命令: 2、逻辑梳理: 1.借助于redis中的命令setnx(key, value),key不存在就新增,存在就什么都不做。同时有多个客户端发送setnx命令,只有一个客户端可以成功,返回1&…

C++多态

多态的概念: 多态(polymorphism)的概念:通俗来说,就是多种形态。多态分为编译时多态(静态多态)和运⾏时多态(动态多态)。编译时多态(静态多态)主要就是我们前⾯讲的函数重载和函数模板,他们传不同类型的参数就可以调⽤不同的函数…

SprinBoot+Vue校园车辆管理系统的设计与实现

目录 1 项目介绍2 项目截图3 核心代码3.1 Controller3.2 Service3.3 Dao3.4 application.yml3.5 SpringbootApplication3.5 Vue 4 数据库表设计5 文档参考6 计算机毕设选题推荐7 源码获取 1 项目介绍 博主个人介绍:CSDN认证博客专家,CSDN平台Java领域优质…

揭秘自闭症学校:探索星贝育园独特教育模式的魅力

在教育的广阔天地里,有一群孩子以他们独特的方式感知世界,他们便是自闭症儿童。为了这些特殊的孩子,广州市星贝育园康复中心应运而生,它不仅是一所康复训练机构,更是一个充满爱与智慧的乐园,以其独特的教育…

数字孪生之-3D可视化

定义: 广义:一切现实物体的虚拟化表达,都可以算是广义的数字孪生行业:数字孪生体应该是与现实物体一对一映射、实时数据连接、有数据模型和对应的数据的 个人理解数字孪生的实现还是基于数据驱动,加上上帝视角&#xf…

Oracle Linux 8.10安装Oracle19c(19.3.0)完整教程

安装前请仔细将文档通读一遍,安装过程中根据安装命令仔细核对,特别留意一些字体加粗或标红的字样,遇到问题请及时咨询博主 1、基础环境 1.1、操作系统 cat /etc/redhat-release 1.2、主机名 医院默认分配的主机名可能跟其他主机会有重复&a…

软考架构-架构风格

一、概念: 风格就是架构的模式,比如C/S、B/S架构,比如现实生活中的中式风格、欧式风格 描述某一特定应用领域中系统组织的方式 软件架构风格反映了领域中众多系统所共有的结构和语义特性,并指导如何将各个模块和子系统有效地组织…