X-Git-Url: https://gapil.gnulinux.it/gitweb/?p=gapil.git;a=blobdiff_plain;f=build.tex;h=e557da3b26609852b791eb4aa8ce0bce9c25e570;hp=8f2bfbb73fe70ecc307f412847ffdbc05c3ced4b;hb=376c897446e3a3c24c3f45df9d6c320f3eef2e09;hpb=8a2d9bf52b522a71f94016ba6855ac0413403bed diff --git a/build.tex b/build.tex index 8f2bfbb..e557da3 100644 --- a/build.tex +++ b/build.tex @@ -1,6 +1,6 @@ %% build.tex %% -%% Copyright (C) 1999-2007 Simone Piccardi. Permission is granted to copy, +%% Copyright (C) 1999-2009 Simone Piccardi. Permission is granted to copy, %% distribute and/or modify this document under the terms of the GNU Free %% Documentation License, Version 1.1 or any later version published by the %% Free Software Foundation; with the Invariant Sections being "Un preambolo", @@ -21,11 +21,17 @@ Questo materiale obsoleto. -\section{L'uso di \texttt{make} per la compilazione} +\section{L'uso di \texttt{make} per l'automazione della compilazione} + +Il comando \texttt{make} serve per automatizzare il processo di costruzione di +un programma ed effettuare una compilazione intelligente di tutti i file +relativi ad un progetto software, ricompilando solo i file necessari ed +eseguendo automaticamente tutte le operazioni che possono essere necessarie +alla produzione del risultato finale.\footnote{in realtà \texttt{make} non si + applica solo ai programmi, ma in generale alla automazione di processi di + costruzione, ad esempio anche la creazione dei file di questa guida viene + fatta con \texttt{make}.} -Il comando \texttt{make} serve per effettuare una compilazione intelligente di -tutti i file relativi a un programma (corpo principale, funzioni ausiliarie, -librerie collegate, ecc.) ricompilando solo i file necessari. \subsection {Introduzione a \texttt{make}} @@ -194,13 +200,13 @@ nessuna regola, essa per complessità) di \texttt{make} connesse alla presenza di quelle regole implicite a cui avevamo accennato. -Anzitutto una una peculiarità di \texttt{make} è che si possono anche usare -più bersagli per una stessa regola (nell'esempio quelli contenuti nella -variabile \texttt{OBJ} che viene espansa in una lista); in questo caso la -regola di costruzione sarà applicata a ciascuno che si potrà citare nella -regola stessa facendo riferimento con la variabile automatica: \texttt{\$@}. -L'esempio usato per la nostra costruzione però sembra non avere neanche la -regola di costruzione. +Anzitutto una peculiarità di \texttt{make} è che si possono anche usare più +bersagli per una stessa regola (nell'esempio quelli contenuti nella variabile +\texttt{OBJ} che viene espansa in una lista); in questo caso la regola di +costruzione sarà applicata a ciascuno che si potrà citare nella regola stessa +facendo riferimento con la variabile automatica: \texttt{\$@}. L'esempio +usato per la nostra costruzione però sembra non avere neanche la regola di +costruzione. Questa mancanza sia di regola che di dipendenze (ad esempio dai vari sorgenti) illustra le capacità di funzionamento automatico di \texttt{make}. @@ -358,12 +364,12 @@ Le sezioni di codice in conflitto sono separate come: nel caso si c'è stata una modifica sul file (mostrata nella parte superiore) incompatibile con quella fatta nel repositorio (mostrata nella parte inferiore). Prima di eseguire un \textit{commit} occorre pertanto integrare le -modifiche e risalvare il file; a questo punto il \textit{commit} diventa +modifiche e salvare nuovamente il file; a questo punto il \textit{commit} diventa possibile. \subsection{I principali sotto comandi} -I principali sottocomandi di \texttt{cvs} utilizzati per controllare lo stato +I principali sotto-comandi di \texttt{cvs} utilizzati per controllare lo stato dei sorgenti sono: \begin{itemize} @@ -400,7 +406,7 @@ dei sorgenti sono: \item \texttt{cvs rtag Etichetta modulo} \\ permette di associare una etichetta alla corrente versione dei file nel progetto così come sono nel repositorio; in modo da poter ritornare a quello - stato del software con il comando \texttt{cvs checkout -rEtichetta module}. + stato del software con il comando \texttt{cvs checkout -r Etichetta module}. \end{itemize} @@ -411,7 +417,8 @@ dei sorgenti sono: % LocalWords: OBJ commondef readfile FFLAGS Cuncurrent Version System CVS home % LocalWords: adidsp geometry muonacq andaranno CVSROOT startup cvs ssh rsh to % LocalWords: project tag Root commit update merging Locally Modified Added -% LocalWords: Needs Patch Merge log rtag checkout module +% LocalWords: Needs Patch Merge log rtag checkout module altrobersaglio +% LocalWords: