GNU/Linux >> Tutoriels Linux >  >> Linux

Pourquoi les Makefiles sous Linux sont-ils si utiles ?

Le normal way pour Linux consiste à utiliser un fichier make.

Il a évolué à partir de toutes les erreurs que les gens ont commises en compilant des applications de plus en plus complexes à la main ou avec des scripts faits maison. Il n'est pas trivial de représenter les dépendances de construction pour un projet complexe. Make propose simplement un moyen standardisé de spécifier ces dépendances et un outil pour analyser les dépendances et exécuter les actions de construction associées.

Même les interfaces utilisateur qui simplifient/automatisent le processus de construction pour vous utilisent un fichier make ou quelque chose de similaire dans les coulisses.

MISE À JOUR

Pour ceux qui s'interrogent sur le commentaire automake, voici deux points de vue différents sur le sujet

http://www.freesoftwaremagazine.com/books/autotools_a_guide_to_autoconf_automake_libtool

http://www.scurrilous.com/blog/archives/2005/08/23/i-hate-automake/


Les makefiles font tellement de travail pour vous et sont souvent plus puissants que les gens ne le pensent. Prenez le makefile simple suivant

 all: helloworld

c'est une ligne, et (gnu make, au moins) saurait exécuter cc -o helloworld helloworld.c Ensuite, au fur et à mesure que le projet grandit, vous ajoutez une règle supplémentaire :

helloworld: ui.o xml.o mailcomponent.o
   $(CC) $(CFLAGS) -o [email protected] [email protected] $^

et faire savoir pour courir

cc -c ui.c
cc -c xml.c
cc -c mailcomponent.c
cc -o helloworld helloworld.c ui.o xml.o mailcomponent.o

Dites ensuite que vous voulez tout optimiser.

CFLAGS=-O2

au début du fichier prend soin de vous.

Lorsque le projet devient plus volumineux, make conserve une trace des fichiers qui ont été modifiés et qui n'ont pas été modifiés, évitant ainsi les recompilations superflues et chronophages.

Les makefiles sont de merveilleux gains de temps, et je n'ai même pas abordé les recettes plus avancées.


Linux
  1. Pourquoi Linux est essentiel à l'informatique de pointe

  2. Comment rendre un ancien ordinateur utile à nouveau

  3. 12 exemples de commandes Wget utiles sous Linux

  4. Linux – Les différents noyaux Linux/unix sont-ils interchangeables ?

  5. Commande ls sous Linux :17 exemples utiles expliqués

Créer une clé USB persistante Kali Linux

Les 10 meilleures raisons d'utiliser Linux

Comment rendre un fichier exécutable sous Linux

Pourquoi les nerds utilisent Linux

Linux – Pourquoi le vrai et le faux sont-ils si grands ?

12 exemples de commandes de date Linux utiles