make 出现的错误:
Circular XXX <- YYY dependency dropped.
规则的依赖关系产生了循环:目标“ XXX ”的依赖文件为“ YYY ”,而依赖“YYY ”的依赖列表中又包含“ XXX ”。
make增加新规则:
第一种:
.cqq.o:
$(CC) -xc++ $(CFLAGS) -I$(INCLUDE) -c $<
第二种
%.cqq:%o
$(CC) -xc++ $(CFLAGS) -I$(INCLUDE) -c $<
如果写成 %.cqq:%.o
将出现文章开始的错误 Circular XXX <- YYY dependency dropped.
例子程序
all: myapp
#Which compiler
CC=gcc
#Where to install
INSTDIR=/usr/local/bin
#Where are include files kept
INCLUDE=.
#Options for development
CFLAGS=-g -Wall -ansi
#Options for release
#CFLAGS=-O -Wall -ansi
#.cqq.o:
%.cqq:%o
$(CC) -xc++ $(CFLAGS) -I$(INCLUDE) -c $<
myapp: main.o 2.o 3.o
$(CC) -o myapp main.o 2.o 3.o
main.o: main.cqq a.h
# $(CC) -c main.cqq
2.o: 2.cqq a.h b.h
# $(CC) -c 2.cqq
3.o: 3.cqq b.h c.h
# $(CC) -c 3.cqq
clean:
-rm main.o 2.o 3.o myapp