makefile-入门1-PHONY

  • .PHONY: api 的作用:

    • 通过在 Makefile 中声明 .PHONY: api,你告诉 make 工具,api 是一个伪目标,与文件系统中的任何同名文件或目录无关。
    • 当你运行 make api 时,make 将会无视文件系统中任何名为 api 的文件或目录,而是直接执行 Makefile 中为目标 api 定义的命令。

举例说明:

假设你的项目结构如下:

 

plaintext

复制代码

project/ ├── api # 这是一个目录或文件 ├── Makefile # 包含 `api:` 目标和 `.PHONY: api` 声明 └── main.go

Makefile 内容:

 

makefile

复制代码

.PHONY: api api: echo "Building the API"

执行 make api

  • 没有 .PHONY 声明时:

    • make 可能会认为 api 目录或文件是目标 api,如果这个文件或目录的修改时间没有改变,那么 make 可能会跳过目标的命令执行,认为它已经是最新的。
  • .PHONY: api 声明时:

    • make 将完全忽略文件系统中的 api 目录或文件,直接执行 Makefile 中定义的 api: 目标的命令。
    • 输出会是:Building the API

总结:

  • .PHONY: api 声明让 make 忽略文件系统中的同名文件或目录,确保无论是否存在名为 api 的文件或目录,make api 都会执行 Makefile 中定义的命令。
  • 这是确保 Makefile 行为一致且可预见的一个常见做法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值