Definindo dependências no Makefile

É muito comum que um binário final dependa de vários códigos-fonte e arquivos de cabeçalho de origem. Dependências são importantes porque permitem quemakeConhecido sobre a origem de qualquer destino. Considere o seguinte exemplo -

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

Aqui, nós dizemos o makeque hello depende dos arquivos main.o, factorial.o e hello.o. Portanto, sempre que houver uma alteração em qualquer um desses arquivos-objeto,make entrará em ação.

Ao mesmo tempo, precisamos dizer ao makecomo preparar arquivos .o. Portanto, precisamos definir essas dependências também da seguinte maneira -

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