Maurizio Conti wrote:
> 
> Ciao a tutti,
> scusate se mi intrometto,
> ma anche io ho lo stesso problema.
> Cosa significa "nella directory in cui sto non c'e` un
> > Makefile"
> Cos'è un make file??
> 


man make
gv /usr/doc/pmake-2.1.34/tutorial.psc

make e` un programma usatissimo dagli sviluppatori
per costruire e distribuire i pacchetti software.

Supponiamo di avere un pacchettto costituito da
piu` subroutine che devono essere compilate e
lincate in un eseguibile che successivamente deve
essere installato insieme a delle librerie.
Uno degli usi piu` comuni di make e` appunto quello
di compiere tutte queste operazioni seguendo le
istruzioni elencate in un Makefile.
Nei pacchetti distribuiti in sorgente c'e` uno
script "configure" che si incarica appunto di costruire un 
Makefile con le opzioni di compilazione e installazione 
adatte alla macchina utilizzata.
Queste istruzioni possono essere suddivise per obiettivi (target)
da realizzare in successione o indipendentemente.
Prendendo ad esempio i pacchetti di installazione tar.gz

> make     realizza il primo obiettivo ed e` di norma
           equivalente a "make nome_programma"

> make install     installa il pacchetto 


Siccome il target "install" dipende da "nome_programma",
se lancio direttamente "make install", verra` prima
eseguito "make nome_programma".

Questo meccanismo di dipendenze serve moltissimo in fase di sviluppo, 
perche' make ricompilera` solo le subroutine che sono state
modificate (sorgente + recente del compilato).

L'uso di make e` molto piu` generale e puo` essere
pensato come il prototipo della programmazione ad
oggetti. make e` presente fin dalle primissime versioni
di Unix, decenni prima che si parlasse di programmazione
ad oggetti.

ciao, Andrea

Rispondere a