Makefile给我带来了清理问题:
CFLAGS=-ansi -Wpedantic -Wall -D_REENTRANT -D_THREAD_SAFE -D_POSIX_C_SOURCE=200112L
LIBRARIES=-lpthread
all: main.exe
main.exe: main.o DBGpthread.o
gcc ${CFLAGS} -o main.exe main.o DBGpthread.o ${LIBRARIES}
main.o: main.c DBGpthread.h printerror.h
gcc ${CFLAGS} -c main.c
DBGpthread.o: DBGpthread.c printerror.h
gcc ${CFLAGS} -c DBGpthread.c
.PHONY: clean
clean:
-rm -f main.o DBGpthread.o main.exe
[当我的目录中只有.c和.h文件,并且我执行make -f Makefile
时,一切正常,但是如果我再次在目录中使用* .o和main.exe执行make -f Makefile
,则消息nothing to be done for all
过来。我必须手动删除* .o文件才能再次执行命令make -f Makefile
。似乎clean不能正常工作,并且仅在此计算机上会发生这种情况。
您可以显示输出吗?
猜想它不是-rm
,它是rm