gpt4 book ai didi

linux - 如何避免 "No such file or directory"Makefile 目标的 `make clean` 错误

转载 作者:IT王子 更新时间:2023-10-29 00:02:49 28 4
gpt4 key购买 nike

我有一个 Makefile,它定义了一个用于清理 .o 文件和可执行文件的 .PHONY clean 目标,该目标如下所示:

...
.PHONY : clean
clean:
rm $(addprefix $(vq_DIR),$(vq_OBJS)) \
$(addprefix $(vq_DIR),vq) \
$(addprefix $(covq_DIR),$(covq_OBJS)) \
$(addprefix $(covq_DIR),covq) \
$(addprefix $(covq_2_DIR),$(covq_2_OBJS)) \
$(addprefix $(covq_2_DIR),covq_2) \
$(addprefix $(covq_2_DIR),$(test_OBJS)) \
$(addprefix $(covq_2_DIR),test)

一切正常,但是当其中一些文件不存在时,rm 引发错误(没有这样的文件或目录),并且输出表明 Makefile 目标失败,当它显然做了我想做的事。

有没有一种好方法可以告诉 rm 命令“如果存在就删除这些文件,如果不存在就不要提示”?我查找了 rm 的联机帮助页,但没有找到这样的标志。

编辑:我实际上没有注意到联机帮助页中对 -f 标志的描述,这是解决方案。

最佳答案

使用rm -f(或者更好的$(RM),由内置的make规则提供,可以找到在您的 clean 规则中使用 make -p) 而不是 rm

关于linux - 如何避免 "No such file or directory"Makefile 目标的 `make clean` 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21949237/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com