make: 'pcs.o' is up to date.问题解决

来源:互联网 发布:apm地面站软件 编辑:程序博客网 时间:2024/06/06 03:26

写makefile的时候遇到第二次编译老是报make: ‘pcs.o’ is up to date.的问题。下面是Makefile

EXEC = pcsOBJS = pcs.o-include $(OBJS:.o=.d)all: $(EXEC)    @echo compile done$(EXEC): $(OBJS)    $(CC) -o $(EXEC) $(OBJS)%.o : %.c    $(CC) -c -MMD $<clean:    -rm -f *.o *.d $(EXEC).PHONY: all clean

排查发现问题其实很简单,-include $(OBJS:.o=.d) 这句展开后是pcs.o: pcs.c pcs.h wrap.h 然后第二次make时默认就make这个目标了,而不是我们心里想的all。因此只需make all或者把它挪到后面就可以了

0 0
原创粉丝点击