171 votes

Pourquoi utiliser make plutôt qu'un script shell ?

Make me semble simplement un script shell avec un traitement légèrement plus facile des arguments de ligne de commande.

Pourquoi est-il standard d'exécuter make au lieu de ./make.sh

14voto

bobbogo Points 362

En plus de ce qui précède, Make est un langage de programmation parallèle déclaratif(-ish).

Disons que vous avez 4000 fichiers graphiques à convertir et 4 CPU. Essayez d'écrire un script shell de 10 lignes (je suis généreux ici) qui le fera de manière fiable tout en saturant vos processeurs.

Peut-être la vraie question est pourquoi les gens prennent la peine d'écrire des scripts shell.

4voto

philant Points 17345

make handles dependencies : le makefile les décrit : le binaire dépend des fichiers objets, chaque fichier objet dépend d'un fichier source et d'en-têtes ... lorsque make est lancé, la date des fichiers est comparée pour déterminer ce qui doit être recompilé.

On peut invoquer directement une cible pour ne pas construire tout ce qui est décrit dans le Makefile.

En outre, la syntaxe make fournit la substitution, vpath

Tout cela peut être écrit dans des scripts shell, avec make you already have it.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X