Make

Il programma make e' un tuttofare per la ricompilazione di grandi programmi, composti da molti files. Questo programma e' capace di capire quali files debbono essre ricompilati e quali no, permettendo un grandissimo risparmio di tempo.

Per far funzionare make e' necessario innanzittutto un file che si chiami makefile, puo' anche essre scritto con la maiuscola (Makefile), anzi e' raccomandato, cosi' verra' visualizzato per primo insieme ad altri file imposrtanti di una cartella, come il README.

Fare il tipo di controllo che fa make non e' cosi' semplice, se per esempio una libreria di un programma e' cambiata, bisogna ricompilare tutte le parti del programma che dipendono da quella libreria.

Struttura di un Makefile

All'interno di un makefile vi e' sempre la seguente struttura:

 OBBIETTIVO : PREREQUISITI
    COMANDI
    ...
    ...

L'obbiettivo, o gli obiettivi, รจ il nome del file che deve essere generato, i prerequisiti sono i file che servono per generarlo, i comandi (sempre preceduti da un TAB) sono le operazioni che deve compiere make.

Esempio di un makefile

Quello che segue e' un tipico makefile:

 main.o : main.c defs.h
             cc -c main.c
     kbd.o : kbd.c defs.h command.h
             cc -c kbd.c
     command.o : command.c defs.h command.h
             cc -c command.c
     display.o : display.c defs.h buffer.h
             cc -c display.c
     insert.o : insert.c defs.h buffer.h
             cc -c insert.c
     search.o : search.c defs.h buffer.h
             cc -c search.c
     files.o : files.c defs.h buffer.h command.h
             cc -c files.c
     utils.o : utils.c defs.h
             cc -c utils.c
     clean :
             rm edit main.o kbd.o command.o display.o                 insert.o search.o files.o utils.o

Completare...