0

我知道 Make 的默认行为是删除中间文件。我还添加了.INTERMEDIATE删除所有中间文件的特殊目标,.o但 Make 仍然没有删除它们。

我已经阅读了有关 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

谢谢!

4

1 回答 1

0

就个人而言,我会使用

.INTERMEDIATE: $(OBJS)

我不相信您可以在目标中使用%语法,这让我觉得风险太大。但是,既然您已经有了一个方便的目标文件列表,为什么不直接使用它呢?.INTERMEDIATE*.o

于 2012-12-10T16:30:59.467 回答