Makefile之PHONY的猜想与验证

本文深入探讨了Makefile中的.PHONY关键字的作用,解释了它如何用于声明伪目标,并通过实例演示了当Makefile包含多个由.PHONY定义的伪目标时,这些伪目标的执行顺序。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. .PHONY定义的多个伪目标的执行顺序

.PHONY  clean all  sample test

猜测有三种结果:

a).PHONY 也是一个伪目标,其所依赖的伪目标会被依次执行(猜想是错误的,.PHONY是Makefile中的关键字)

b).PHNOY 是Makefile中的一个关键字,他的作用是声明谁是伪目标。而其自身既不是伪目标更不是普通目标

c)

实测数据:

Makefile源文件

.PHONY : clean all  lib sample test

all: 
        echo "all"    
lib:
        echo "lib"   
sample:
        echo "sample"

test:
        echo "test" 
clean:
        echo "clean"

运行make输出的结果:

echo "all"
all

 

结论:

.PHNOY在Makefile中是一个关键字来着,不能作为目标,这个关键字用来声明伪目标。而且在一个Makefile文件中“.PHONY”赤裸裸地加粗高亮显示出来的

Makefile源文件

NY : clean all lib sample test

all: 
        echo "all"
lib:
        echo "lib"  
sample:
        echo "sample"

test:
        echo "test"
clean:
        echo "clean"

运行make输出的结果:

echo "all"
all
echo "clean"
clean
echo "lib"
lib
echo "sample"
sample
echo "test"
test

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值