2012-12-10 80 views
0

我知道Make的默認行爲是刪除中間文件。我還添加了.INTERMEDIATE特殊目標刪除所有中間.o文件,但做仍然沒有刪除它們。不刪除中間文件

我已閱讀所有其他文章與Stackoverflow上的類似問題,其次是什麼答案建議,沒有爲我工作。有人可以看看嗎?這是我的品牌:

CC = gcc 
CFLAGS = -Wall -Werror -Wmissing-prototypes 
OBJS = server.o rio.o list.o 
LDLIBS = -lpthread 

.INTERMEDIATE: %.o 

all: syst 

sysstatd: $(OBJS) 
    $(CC) $(CFLAGS) $(OBJS) $(LDLIBS) -o syst -L thread-pool -lthreadpool 


server.o: server.h server.c 
rio.o: rio.h rio.c 
list.o: list.h list.c 

clean: 
    rm -f *~ *.o syst 

謝謝!

回答

0

就個人而言,我會使用

.INTERMEDIATE: $(OBJS) 

我不相信你可以在.INTERMEDIATE目標使用%語法和*.o給我的印象太冒險了。但是,由於您已經有了一個方便的目標文件列表,爲什麼不使用它呢?