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 に答える