Makefile 第一次make的时候能生成文件,第二次make的时候就错误。

目录下面有a.c b.c c.c c.h,a.c我根本没改过,按道理不应该有它什么事
Makefile那一章,第一次make的时候能生成文件,第二次make的时候就错误。 麻烦看看哪里的问题。

files = a.o b.o c.o
deps := $(patsubst % ,.%.d ,$(files))
deps := $(wildcard $(deps))

demo: $(files)
        gcc -o demo $^

ifneq ($(deps),)
 include $(deps)
endif

%.o:%.c
        gcc -c -o $@ $<  -MD -MF .$@.d

distclean:
        rm $(deps)

.PHONY:
clean:
        rm *.o demo .*.d

第一个警告是代码包含 \0 字符;
第二个错误估计是 Makefile 格式问题导致的,比如 tab 变成了空格之类的;

但是为什么报错定位在a.o文件

我不知道为什么报错定位在a.o文件;
问题没解决?