Page personnelle :
|
Christophe Genolini - Memo Makefile
Exemple :Toto.ps : Toto.dvi dvips Toto.dvi -o Toto.ps Toto.dvi : Toto.tex Toto.toc \ dessin.eps dessin2.eps latex Toto.tex CommentairesLeToto.ps de la première ligne est le fichier but, celui qui doit être contruit.Après le : de la première ligne se trouve la liste des fichiers necéssaires à la construction du fichier
but. La deuxième ligne et les suivantes éventuelles donnent la procédure à utiliser pour construire le fichier but. Attention, elles doivent toujours commencer par une tabulation. S'il y a beaucoup de fichiers après les : , on peut les mettre sur deux lignes, avec un \ à la fin de la première ligne.
all : permet d'en construire plusieurs :all : these.ps thesis.ps Si on a besoin que le makefile du répertoire
./../chapitre1 soit exécuté, on utilise :makeRepertoire : make -C ./../chapitre1
Exemple :NOM=$(wildcard *.tex) all : $(NOM:.tex=.eps) %.dvi : %.tex latex $< rm $(@:.dvi=.aux) rm $(@:.dvi=.log) %.eps : %.dvi dvips $< -o $@ Commentaires :Dans cet exemple,NOM est une variable. Elle correspond a *.tex (* se dit wildcard ).$(NOM:.tex=.eps) signifie : variable NOM dans
laquelle .tex est remplacé par .eps .Donc, la ligne all : $(NOM:.tex=.eps) signifie :
make doit construire un fichiers .eps pour chaque fichier
.tex existant.%.dvi : %.tex donne la méthode générique pour construire
les .dvi à partir des .tex .Dans dvips $< -o $@ , $< indique le nom du fichier
situé après les : (dans notre exemple, .dvi ). Si plusieurs fichiers sont présents, $< désigne le premier d'entre eux.
$@ est le nom du fichier situé avant les : (dans notre exemple, .eps )
|