GCCのフラグを使用して-MM
、オブジェクトのmakefile依存関係を生成します。makefileは簡単に次のようになります。
-include autodep
...
$(TARGET): build $(OBJECTS)
$(CC) -shared -o $@ $(OBJECTS)
$(CC) -MM $(SOURCES) > autodep
ソースはフォルダ内にあります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
が、オブジェクトターゲットを完全に破棄しているようです。