[英]Makefile Produces Errors but Builds Fine?
我正在使用makefile來構建多個程序。 這是代碼:
SRCS = prog1.c prog2.c prog3.c
TARG = all
CC = gcc
OPTS = -O
LIBS = -lm
OBJS = $(SRCS:.c=.o)
all: $(TARG)
$(TARG): $(OBJS)
$(CC) -o $(TARG) $(OBJS) $(LIBS)
%.o: %.c
$(CC) $(OPTS) -c $< -o $@
clean:
rm -f $(OBJS) $(TARG)
這個makefile完美地生成了三個prog.o文件,但是我收到一個令我困惑的錯誤:
Makefile:12: recipe for target 'all' failed
我已經做了大量的搜索,找不到任何與我的特定問題有關的內容,所以我想知道是否有人對這里發生的事情有所了解。 謝謝你!
使用TARG = all
,您有:
all: all
all: $(OBJS)
為你的程序命名別的東西,而不是all
。
你有all
循環依賴取決於all
(因為TARG
擴展到all
)。 依賴關系圖必須是DAG。 更改
TARG = all
至
TARG = something
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.