我的Makefile是:
OBJS = b.o c.o a.o FLAGS = -Wall -Werror CC = gcc test: $(OBJS) $(CC) $(FLAGS) $(OBJS) -o test b.o: b.c b.h $(CC) $(FLAGS) -c b.c a.o: a.c b.h c.h $(CC) $(FLAGS) -c a.c c.o: c.c c.h $(CC) $(FLAGS) -c c.c clean: rm a rm *.o all: test
如果我再做,然后再做,它总是重建’测试’.为什么这样做?
即使我做:make a.o它重建…如果有帮助,我在linux上.
在Windows中,如果我用’-o test.exe”’test.exe’和’-o test’更改’test’,它可以正常工作.
所以我猜,由于某些原因’make’在我的linux不能检查我的目录中的文件的日期戳.
我修好了它!
.c是在Windows中创建的.我在vi中打开了所有的.c和.h,没有任何东西保存更改,并且都工作.我认为这个事情是固定的.