Definizione delle dipendenze nel Makefile

È molto comune che un binario finale dipenda da vari codici sorgente e file di intestazione del sorgente. Le dipendenze sono importanti perché consentono amakeConosciuto sull'origine per qualsiasi destinazione. Considera il seguente esempio:

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

Qui, diciamo al makeche hello dipende dai file main.o, factorial.o e hello.o. Quindi, ogni volta che si verifica una modifica in uno di questi file oggetto,make agirà.

Allo stesso tempo, dobbiamo dire al file makecome preparare i file .o. Quindi dobbiamo definire anche quelle dipendenze come segue:

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