伪目标

本文通过实例演示如何在Makefile中使用伪目标进行文件清理。介绍了三种不同的清理方法,并解释了如何利用.PHONY关键字明确指定伪目标。

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

在 test001 中我们建立了一个简单的 makefile 文件,且 test001.mk 被执行后,目录中多了 *.o 和 *.exe  文件,我们知道在各种编译项目中总有自动清除这些文件的方法,那么现在我在 makefile 中实现这个功能,这就要用到伪目标,现在我们建立测试环境 test002,除了 makefile 文件不一样,test002 与 test001 的其它文件是一样的。

test002.mk 的文件内容如下:

#执行方式:
#make -f test002.mk   生成 .exe 和 .o 文件
#make -f test002.mk clean1 清除 .exe 和 .o 文件,或用 clean2, clean3
#################################################################
#说明:
#1.介绍伪目标,一般情况下伪目标不要做为 makefile 文件的第一个目标
#2.介绍关键字 .PHONY
#################################################################
test.exe : main.o math.o        
 cc -o test.exe main.o math.o

math.o : math.c math.h common.h
 cc -c math.c        

main.o : main.c main.h math.h common.h
 cc -c main.c

#clean1 的冒号后面什么也没有表明他是一个伪目标
clean1:
 rm test.exe math.o main.o

#clean2 的 rm 前面有一个 - 号,表示即使 rm 命令出错也不会终止 makefile 的执行
clean2:
 -rm test.exe math.o main.o

#用 PHONY 显示说明 clean3 是一个伪目标
.PHONY : clean3
clean3:
 -rm test.exe math.o main.o

 

 

 

请从 http://u.115.com/file/f4e170e26b 下载这个例子

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值