我需要在makefile文件中添加一个干净的命令,该命令会删除可能从程序中生成的核心文件。我的程序从未产生过任何核心文件,但无论如何我都需要将其添加到makefile中。
我看到某个地方可以做rm内核,但我一直在获取内核,因为文件或目录错误不存在。
example: example.c
gcc -o example example.c
clean:
-rm $(objects) example
答案 0 :(得分:4)
如果核心文件名为core
,则只需执行rm -f core
。
如果文件不存在,-f
选项告诉rm
不要抱怨。 (它也告诉它继续进行操作,即使它不可写,也没有提示就将其删除。)
在Makefile
中,您可以:
clean:
-rm -f $(objects) example core
请注意,某些系统提供的核心文件名不只是core
。 man 5 core
了解详情。
答案 1 :(得分:1)
如果要在删除文件时获得反馈,还可以执行以下操作:
# Clean core files only if they exists
clean:
-rm -f $(objects) example
[ -e core ] && rm -v core
它基本上只是一个普通的bash命令,但是如果您不希望知道它是否已删除,那么Keith的答案是最好的:)