Es muy común que un binario final dependa de varios códigos fuente y archivos de encabezado fuente. Las dependencias son importantes porque permitenmakeConocido sobre el origen de cualquier objetivo. Considere el siguiente ejemplo:
hello: main.o factorial.o hello.o
$(CC) main.o factorial.o hello.o -o hello
Aquí te decimos makeese saludo depende de los archivos main.o, factorial.o y hello.o. Por lo tanto, siempre que haya un cambio en cualquiera de estos archivos de objeto,make tomará medidas.
Al mismo tiempo, necesitamos decirle al makecómo preparar archivos .o. Por lo tanto, necesitamos definir esas dependencias también de la siguiente manera:
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