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