我使用-MM
GCC 中的标志来为对象生成 makefile 依赖项。生成文件简要如下所示:
-include autodep
...
$(TARGET): build $(OBJECTS)
$(CC) -shared -o $@ $(OBJECTS)
$(CC) -MM $(SOURCES) > autodep
源位于 in 文件夹中src
。但是,该autodep
文件将包含没有相对路径的对象目标:
foo.o: src/foo.c src/foo.h
bar.o: src/bar.c src/bar.h src/baz.h
我应该如何把它们变成这样:
src/foo.o: src/foo.c src/foo.h
src/bar.o: src/bar.c src/bar.h src/baz.h
?
我尝试使用该-MT
标志,但它似乎完全丢弃了对象目标。