【发布时间】:2012-07-29 13:02:48
【问题描述】:
我的Makefile 没有删除中间文件。我设置了.INTERMEDIATE。这是我的 Makefile:
OBJECTS=prefixer.o stack.o
CFLAGS=-Werror -Wmissing-prototypes -g
LIBS=-lm
CC=gcc
prefixer : $(OBJECTS)
$(CC) -o prefixer $(OBJECTS) $(LIBS)
prefixer.o : stack.h
$(CC) -c prefixer.c -o $@ $(CFLAGS)
stack.o : stack.c stack.h
$(CC) -c stack.c -o $@ $(CFLAGS)
.INTERMEDIATE: %.o
.PHONY: clean
clean :
-rm prefixer *.o
.INTERMEDIATE 有什么问题?
【问题讨论】:
-
附带问题:我不知道
.INTERMEDIATE,但我能问一下你为什么要这样做吗? Makefile 很好,因此您可以避免重建源未触及的.o文件。如果你想每次都重新构建,为什么不直接使用脚本呢? -
你错过了依赖
prefixer.c->prefixer.o -
@BasileStarynkevitch 你是什么意思?第二个
prefixer.o: stack.h .... -
是的,您的
Makefile第 9 行中应该有prefixer.o : prefixer.c stack.h