'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
我写了
所以我为一个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
我写了