伪目标

来源:互联网 发布:node.js微服务 豆瓣 编辑:程序博客网 时间:2024/09/21 09:00

在 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 下载这个例子

原创粉丝点击