Makefile

Un makefile viene utilizzato con l'utilità make di UNIX per determinare quali parti di un programma compilare. Un makefile è fondamentalmente uno script che guida l'utility make a scegliere i file di programma appropriati che devono essere compilati e collegati insieme.

L'utility make tiene traccia dell'ultima volta che i file sono stati aggiornati in modo da aggiornare solo i file contenenti le modifiche. Tuttavia, è necessario compilare anche tutti i file che dipendono dai file aggiornati, il che può richiedere molto tempo. Con l'aiuto di makefile, l'utility make automatizza questa compilazione per garantire che tutti i file che sono stati aggiornati - e solo quelli - siano compilati e che le versioni più recenti dei file siano quelle collegate al programma principale, senza richiedere all'utente di eseguire le attività separatamente.

Un makefile contiene tre tipi di informazioni per il programma make: un target (il nome di ciò che l'utente sta cercando di costruire); le regole (comandi che dicono come costruire l'obiettivo dai sorgenti) e una dipendenza (il motivo per cui l'obiettivo dovrebbe essere costruito, che di solito è perché non è aggiornato rispetto ai suoi componenti). Per creare un makefile, l'utente crea un file contenente i comandi della shell e lo chiama "makefile". I comandi vengono eseguiti secondo le regole nel makefile quando l'utente digita "make" mentre si trova nella directory contenente il file.