且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

对 makefile 中 .DELETE_ON_ERRORS 的学习体会

更新时间:2022-09-21 17:47:38

上例子

对 makefile 中 .DELETE_ON_ERRORS 的学习体会
SHELL=bash
.DELETE_ON_ERRORS: 

LIBS=foo.gao
all: $(LIBS)
    @echo final
foo.gao:
    @echo $@
    touch $@
    ./me.o
对 makefile 中 .DELETE_ON_ERRORS 的学习体会

其中,me.o 程序是由C语言编译而成。其内容是显示 helloworld ,然后 return 2(即非正常退出)。 

 

运行结果要看如何来运行:

make --dry-run的运行结果:

 echo  foo.gao

 touch  foo.gao

 ./me.o

 echo final

此时 ls 命令可以发现,在当前目录下,并没有 foo.gao 文件。

 

而如果是仅仅运行 make,结果则是这样的:

echo foo.gao

touch foo.gao

./me.o

hello

make: *** [foo.gao] Error 2

此时 ls 命令可以发现,在当前目录下,生成了 foo.gao 文件,并没有被删除。

 

 

结束




本文转自健哥的数据花园博客园博客,原文链接:http://www.cnblogs.com/gaojian/archive/2012/09/24/2700066.html,如需转载请自行联系原作者