<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <link REL="STYLESHEET" TYPE="text/css" TITLE="Style DILIB" HREF="../../dilib.css"> <title>Make</title> <link rel="copyright" href="http://www.inist.fr/"><link rel="author" href="http://dilib.inist.fr/membres.html"><link rel="chapter" href="caracteristiques.fre.html" title="UNIX"><link rel="chapter" href="X.fre.html" title="X Window"><link rel="chapter" href="redirPipes.fre.html" title="Rappels"><link rel="chapter" href="newCommandsUser.fre.html" title="Commandes UNIX"><link rel="chapter" href="shellVars.fre.html" title="Shell"><link rel="chapter" href="sed.fre.html" title="Sed"><link rel="chapter" href="make.fre.html" title="Make"><link rel="index" href="http://dilib.inist.fr/dilib/v04Main/IndexSite/Server/FR.resource.index.html"><link rel="top" title="Accueil de DILIB" href="http://dilib.inist.fr/dilib/v04Main/"><link rel="alternate" title="English version" href="make.eng.html"><link rel="up" href="index.fre.html" title="Tutorial UNIX / Shell"> <link rel="section" href="make.fre.html" title="Make"><link rel="section" href="tpMake.fre.html" title="Travaux Pratiques"> <link rel="first" href="caracteristiques.fre.html" title="Caractéristiques d'UNIX"> <link rel="previous" href="tpSed.fre.html" title="Travaux Pratiques"> <link rel="next" href="tpMake.fre.html" title="Travaux Pratiques"> <link rel="last" href="tpMake.fre.html" title="Travaux Pratiques"> </head> <body> <h1>Make</h1> <div id="navcontainer"> <ul id="navlist"> <li><a href="caracteristiques.fre.html">UNIX</a> </li> <li><a href="redirPipes.fre.html">Bases</a> </li> <li><a href="newCommandsUser.fre.html">Commandes</a> </li> <li><a href="shellVars.fre.html">Shell</a> </li> <li><a href="sed.fre.html">Sed</a> </li> <li><a>Make</a> <ul id="subnavlist"> <li><a href="make.fre.html" id="subcurrent">Principes</a></li> <li><a href="tpMake.fre.html">TP</a></li> </ul> </li> </ul> </div> <div class="content"> <p> make < GNU make (INIST -> GNU make) </p> <ul> <li>Gagner du temps par rapport aux shells</li> </ul> <img title="Un shell fait tous les traitements qui y sont indiqués" src="Shell.gif" alt="Un shell fait tous les traitements qui y sont indiqués"> <br> <img title="Un make ne fait que les traitements qui sont nécessaires" src="Make.gif" alt="Un make ne fait que les traitements qui sont nécessaires"> <hr> <h2>Syntaxe</h2> <p> Le fichier <code>makefile</code> contient les règles de dépendance. </p> <p> Une règle est de la forme : </p> <pre>cible: [fichier de départ] ... commande</pre> <p> Attention : la commande doit être précédée d'une tabulation! </p> <p> Pour créer le fichier cible : <code>make cible</code> </p> <p> Exemple de fichier <code>makefile</code> : </p> <pre># Commentaire compte.txt: aCompter.txt wc -l < aCompter.txt > compte.txt</pre> <p> La deuxième fois qu'on lance la cible <code>compte.txt</code>, la commande <code>wc</code> n'est pas exécutée, sauf si le fichier <code>aCompter.txt</code> a une date de modification plus récente que celle de <code>compte.txt</code>. </p> <p class="remarque"> Une règle qui ne dépend d'aucun fichier de départ peut exister. De plus, elle ne peut donner lieu à la création d'un fichier. Une telle règle sera toujours exécutée (à condition que son nom ne soit pas celui d'un fichier). </p> <hr> <h2>Références</h2> <ul> <li><a href="http://www.eng.hawaii.edu/Tutor/Make/FrenchMake/make.htm" hreflang="fr">http://www.eng.hawaii.edu/Tutor/Make/FrenchMake/make.htm</a> Tutorial make (en français)</li> <li><a href="http://www.oreillynet.com/pub/a/linux/2002/01/31/make_intro.html" hreflang="en">http://www.oreillynet.com/pub/a/linux/2002/01/31/make_intro.html</a> Introduction to Make</li> <li><a href="http://www.gnu.org/manual/make/" hreflang="en">http://www.gnu.org/manual/make/</a> Make Manual</li> <li><a href="http://make.paulandlesley.org/" hreflang="en">http://make.paulandlesley.org/</a> GNU Make</li> </ul> </div> <hr> <address><a href="mailto:philippe.houdry@inist.fr">Philippe.Houdry@inist.fr</a></address> </body> </html>