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