我有一个复杂的makefile,每次调用它时似乎都会重新链接我的库和可执行文件.我能够将问题缩小到一个简单的makefile:
1: all: prog
2:
3: .PHONY: prog
4: prog: prog.exe
5:
6: prog.exe: lib prog.o
7: touch prog.exe
8:
9: prog.o: prog.c
10: touch prog.o
11:
12: .PHONY: lib
13: lib: lib.so
14:
15: lib.so: lib.o
16: touch lib.so
17:
18: lib.o: lib.c
19: touch lib.o
20:
21: .PHONY: clean
22: clean:
23: rm *.so *.o *.exe
Run Code Online (Sandbox Code Playgroud)
出于某种原因,这个例子,每次都会创建prog.exe.如果我用lib.so替换第6行的lib,那么它可以工作.但似乎我应该能够做我在这里尝试的事情.有什么根本我缺席的吗?
makefile ×1