'make clean' 不工作

'make clean' not working

所以我为一个c程序做了一个makefile。出于某种原因,我的 'clean' 无法正常工作。这是我的 makefile 的一部分:

CC=gcc
FLAGS=-c -Wall -I.
CLEANC=rm -rf *.o

move.o: move.c
     $(CC) $(FLAGS) move.c
/*Lot more codes like this^^^*/

clean:
    $(CLEANC)

当我在命令提示符中 运行 'make clean' 时,显示如下:

rm -rf *.o
process_begin: CreateProcess(NULL, rm -rf *.o, ...) failed.
make (e=2): The system cannot find the file specified.
makefile:116: recipe for target 'clean' failed
make: *** [clean] Error 2

我不知道我做错了什么。我试过将 CLEANC 更改为

rm -f *.o
rm *.o 
rm *o
rm -f *.o test.exe //test.exe is executable

但无论我尝试什么,它仍然给了我同样的错误。我真的需要帮助。提前致谢。

从您的错误输出中出现的 CreateProcess 来看,我假设您是 运行 make 在 Windows 下。

这意味着没有 rm 命令,您应该使用 del 代替,并且 -rf 标志也应相应调整。

OBJS   = $(addprefix $(OBJ_DIR)/,$(patsubst %.c,%.o,$(notdir $(SRCS))))
DELOBJS = $(addprefix .\obj\,$(patsubst %.c,%.o,$(notdir $(SRCS))))

.PHONY: clean
clean:
    del xxx 
    del $(DELOBJS)

del是不行的,因为Windows是用\来区分文件路径的,所以你得把OBJS\path,也就是DELOBJS 我写了