Correction pour les Makefiles

master
Fabien Givors 11 years ago
parent 6bbc5d412a
commit 7e20eb2b2b

@ -1,3 +1,5 @@
.PHONY: tuto.pdf
# Par défaut, on construit le fichier shell, la doc, et le fichier tuto.pdf
all: shell doc tuto.pdf
@ -12,17 +14,14 @@ doc: src/shell.c
doxygen Doxyfile
# Pour construire tuto.pdf, on a besoin du fichier tuto.tex
tuto.pdf: tex-src/tuto.tex
# On crée un répertoire pour les fichiers temporaires
mkdir -p .build-latex
# On compile le fichier .tex en utilisant ce répertoire temporaire
pdflatex -output-directory .build-latex $^
# On crée dans le répertoire courant un lien vers le fichier .pdf généré
ln -f .build-latex/$@
tuto.pdf:
$(MAKE) -C tex-src/ tuto.pdf
ln -f tex-src/tuto.pdf
# Pour nettoyer les fichiers temporaires
clean:
rm -fr .build-latex
$(MAKE) -C tex-src/ cleanall
$(MAKE) -C src/ cleanall
# Pour nettoyer tous les fichiers générés
cleanall: clean

@ -0,0 +1,10 @@
all: shell
# Pour construire le fichier shell, on a besoin du fichier shell.c
shell: src/shell.c
# La ligne de commande suivante compile le fichier shell.c en shell
gcc -Wall -pedantic --extra-warnings -std=c99 -o $@ $^
# Pour nettoyer tous les fichiers générés
cleanall:
rm -f shell

@ -0,0 +1,18 @@
# Par défaut, on construit le fichier shell, la doc, et le fichier tuto.pdf
all: tuto.pdf
# Pour construire tuto.pdf, on a besoin du fichier tuto.tex
tuto.pdf: tuto.tex
# On crée un répertoire pour les fichiers temporaires
mkdir -p .build-latex
# On compile le fichier .tex en utilisant ce répertoire temporaire
pdflatex -output-directory .build-latex $^
# On crée dans le répertoire courant un lien vers le fichier .pdf généré
ln -f .build-latex/$@
# Pour nettoyer les fichiers temporaires
clean:
rm -fr .build-latex
cleanall: clean
rm -f tuto.pdf

Binary file not shown.

@ -0,0 +1,10 @@
all: shell
# Pour construire le fichier shell, on a besoin du fichier shell.c
shell: src/shell.c
# La ligne de commande suivante compile le fichier shell.c en shell
gcc -Wall -pedantic --extra-warnings -std=c99 -o $@ $^
# Pour nettoyer tous les fichiers générés
cleanall:
rm -f shell

@ -0,0 +1,45 @@
/**
* @file
* @author Votre Nom <votre.adresse@email.net>
* @version 1.0
*
* @section LICENSE
*
* Ce programme est un logiciel libre ; vous pouvez le redistribuer ou le
* modifier suivant les termes de la GNU General Public License telle que
* publiée par la Free Software Foundation ; soit la version 3 de la licence,
* soit (à votre gré) toute version ultérieure.
*
* Ce programme est distribué dans l'espoir qu'il sera utile, mais SANS AUCUNE
* GARANTIE ; pas même la garantie implicite de COMMERCIABILISABILITÉ ni
* d'ADÉQUATION à UN OBJECTIF PARTICULIER. Consultez la GNU General Public
* License pour plus de détails.
*
* Vous devriez avoir reçu une copie de la GNU General Public License en même
* temps que ce programme ; si ce n'est pas le cas, consultez
* <http://www.gnu.org/licenses>.
*
* @section DESCRIPTION
*
* Ce fichier contient un programme affichant "Bonjour DF !" à l'écran.
*/
/**
* main fonction d'entrée du programme.
*
* main affiche simplement du texte puis termine en renvoyant le code d'erreur
* indiquant le bon déroulement de l'exécution.
*
* @param argc nombre d'arguments dans la ligne de commande appelante
* @param argv tableau des arguments de la ligne de commande
* @return code de terminaison du programme
**/
#include <stdio.h>
int main(int argc, char* argv[])
{
printf("Bonjour DF !\n");
return 0;
}

@ -0,0 +1,16 @@
#include <stdio.h>
#define TAILLE_BUF 256
int main(int argc, char* argv[])
{
printf("Bonjour DF !\n");
printf("Entrez du texte !\n");
char buffer[TAILLE_BUF];
fgets((char*)&buffer,TAILLE_BUF, stdin);
printf("Vous avez entré : %s\n", buffer);
return 0;
}

@ -0,0 +1,8 @@
#include <stdio.h>
int main(int argc, char* argv[])
{
printf("Bonjour DF !\n");
return 0;
}

@ -87,14 +87,7 @@ source {\tt shell.c} dans le répertoire {\tt src/} précédemment créé.
Voici un code simple affichant simplement du texte sur la sortie standard et
terminant.
\begin{lstlisting}[language=c,caption=src/shell.c]
int main(int argc, char* argv[])
{
printf("Bonjour DF !\n");
return EXIT_SUCCESS;
}
\end{lstlisting}
\lstinputlisting[language=c,caption=src/shell-hello\_world.c]{src/shell-hello_world.c}
% }}}
\subsubsection{Première compilation}
@ -108,50 +101,7 @@ Bonjour DF !
\subsubsection{Documentation}
% {{{
\begin{lstlisting}[language=C,caption=shell.c]
/**
* @file
* @author Votre Nom<votre.adresse@email.net>
* @version 1.0
*
* @section LICENSE
*
* Ce programme est un logiciel libre ; vous pouvez le redistribuer ou le
* modifier suivant les termes de la GNU General Public License telle que
* publiée par la Free Software Foundation ; soit la version 3 de la licence,
* soit (à votre gré) toute version ultérieure.
*
* Ce programme est distribué dans l'espoir qu'il sera utile, mais SANS AUCUNE
* GARANTIE ; pas même la garantie implicite de COMMERCIABILISABILITÉ ni
* d'ADÉQUATION à UN OBJECTIF PARTICULIER. Consultez la GNU General Public
* License pour plus de détails.
*
* Vous devriez avoir reçu une copie de la GNU General Public License en même
* temps que ce programme ; si ce n'est pas le cas, consultez
* <http://www.gnu.org/licenses>.
*
* @section DESCRIPTION
*
* Ce fichier contient un programme affichant "Bonjour DF !" à l'écran.
*/
/**
* main fonction d'entrée du programme.
*
* main affiche simplement du texte puis termine en renvoyant le code d'erreur
* indiquant le bon déroulement de l'exécution.
*
* @param argc nombre d'arguments dans la ligne de commande appelante
* @param argv tableau des arguments de la ligne de commande
* @return code de terminaison du programme
**/
int main(int argc, char* argv[])
{
printf("Bonjour DF !\n");
return EXIT_SUCCESS;
}
\end{lstlisting}
\lstinputlisting[language=c,caption=src/shell-doc.c]{src/shell-doc.c}
\begin{lstlisting}[language=bash,caption=Dans votre shell]
$ doxygen Doxyfile
@ -165,28 +115,17 @@ $ doxygen Doxyfile
\subsection{Le Makefile}
% {{{
\lstinputlisting[language=make,caption=Makefile]{Makefile}
\lstinputlisting[language=make,caption=Makefile]{src/Makefile-basque}
% }}}
% }}}
\section{Lire et écrire sur l'entrée standard}
% {{{
\begin{lstlisting}[language=c,caption=shell.c]
int main(int argc, char* argv[])
{
printf("Bonjour DF !\n");
printf("Entrez du texte !\n");
char buffer[256];
gets(&buffer);
printf("Vous avez entré : %s\n");
return EXIT_SUCCESS;
}
\end{lstlisting}
\lstinputlisting[language=c]{src/shell-fgets.c}
% }}}
% }}}
\end{document}

Loading…
Cancel
Save