Comment écrire un Makefile pour mes documents #

Si vous êtes un développeur C ou Java, vous utilisez sans doute des outils tels que Make pour automatiser la compilation de vos programmes. Ces logiciels s’occupent de lancer toutes les étapes de compilation les unes après les autres, de la façon la plus efficace possible, en fonction des modifications que vous avez apportées aux fichiers depuis la dernière compilation.

Il semble naturel de vouloir utiliser Make aussi pour des documents Mais le processus de compilation par est en fait difficile à exprimer dans un simple graphe de dépendances comme le fait make. En effet, doit généralement être exécuté plusieurs fois pour différentes raisons (par exemple : stabiliser la table des matières, stabiliser les références, ajouter la bibliographie, ajouter l’index, etc.), et le simple fait que le fichier final soit plus récent que les fichiers intermédiaires ne garantit pas qu’il soit à jour.

Il est donc plutôt conseillé d’utiliser les scripts développés pour évoqués à la question « Comment automatiser les compilations  ». Ils lisent les fichiers .log et .aux produits par pour décider de relancer une compilation si nécessaire, ou de lancer bibtex, mkindex

Ceci dit, il existe quelques exemples d’utilisation de Make avec

1.  Avec l’extension latex-make#

L’extension latex-make propose de vous aider à utiliser make avec Elle offre un fichier LaTeX.mk. Il suffit ensuite de créer un fichier Makefile qui contient cette unique ligne :

include LaTeX.mk

Elle ne gère pas complètement les dépendances entre fichiers, et si vous modifiez des \input ou des \include dans votre document, il est conseillé de lancer une recompilation complète :

make distclean
make pdf

2.  Avec l’extension latexmake#

L’ensemble latexmake propose un ensemble de règles make qui invoquent texi2dvi si nécessaire.