有沒有人可以幫助我理解爲什麼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