有没有人可以帮助我理解为什么GNU make会在下面的例子中考虑“循环依赖”。如果未指定VPATH并且源文件在当前目录中显示,则一切正常。GNU make:指定VPATH时的循环依赖关系
$ cat Makefile
VPATH = src
src%.o: %.cpp
@echo ECHO: [email protected]: $<
lib%.o: %.cpp
@echo ECHO: [email protected]: $<
dll%.so: %.cpp
@echo ECHO: [email protected]: $<
lib%.so: lib%.o dll%.so
@echo ECHO: [email protected]: $<
A.exe: libA.so
%.exe: src%.o
@echo ECHO: [email protected]: $<
$ make
make: Circular dllA.so <- A.cpp dependency dropped.
ECHO: libA.o: src/A.cpp
ECHO: dllA.so:
ECHO: libA.so: libA.o
ECHO: srcA.o: src/A.cpp
ECHO: A.exe: srcA.o
谢谢,亚历克斯
我试过3.82这是好的。谢谢。 – Alex