Makefile 定義依賴性

這是很常見的,最終的二進制文件將依賴於各種源代碼和源代碼的頭文件。依存關係是重要的,因爲他們告訴對任何目標的源。請看下面的例子

hello: main.o factorial.o hello.o
$(CC) main.o factorial.o hello.o -o hello

在這裏,我們告訴hello 依賴main.o,factorial.o和hello.o,所以每當有任何變化,這些目標文件將採取行動。

同時我們會告訴如何準備 .o文件,所以我們必須定義這些依賴也如下

main.o: main.cpp functions.h
$(CC) -c main.cpp

factorial.o: factorial.cpp functions.h
$(CC) -c factorial.cpp

hello.o: hello.cpp functions.h
$(CC) -c hello.cpp