Quelle est la différence entre gmake et make?

J’essaie de comprendre la différence entre ‘gmake’ et ‘make’?

Sur ma boite Linux ils sont identiques:

% gmake --version GNU Make 3.81 Copyright (C) 2006 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. % make --version GNU Make 3.81 Copyright (C) 2006 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 

Je suppose que ce n’est pas la même sur toutes les plates-formes? Y a-t-il une bonne raison d’utiliser l’un sur l’autre?
Y a-t-il une signification historique à pourquoi il y a les deux noms?

«gmake» fait spécifiquement référence à la marque GNU. «make» fait référence à la mise en œuvre par défaut du système; sur la plupart des dissortingbutions Linux, il s’agit de GNU make, mais sur d’autres Unix, cela pourrait faire référence à d’autres implémentations de make, telles que BSD make, ou aux implémentations de make un des différents unix commerciaux.

Le langage accepté par GNU make est un sur-ensemble de celui supporté par l’utilitaire de création traditionnel.

En utilisant spécifiquement «gmake», vous pouvez utiliser les extensions GNU make sans vous soucier de leur interprétation par une autre implémentation de make.

Sur mon système, aucune différence (gmake est un lien doux à faire):

 -> ls -l $(which gmake make) lrwxrwxrwx 1 root root 4 Jun 5 2007 /usr/bin/gmake -> make -rwxr-xr-x 1 root root 168976 Jul 13 2006 /usr/bin/make 

gmake signifie GNU make. Il existe différentes implémentations de make. Sur les machines Linux, le plus probable sera la volonté de GNU et rendre la vie de l’utilisateur plus facile est liée à gmake.

Le «contraire» habituel de gmake est la gmake BSD, qui aura tendance à se make sur les systèmes BSD, sans surprise. Si vous voulez voir à quoi ressemble BSD, sur les dérivés de Debian, il est disponible sous la forme apt-get install pmake .

Apparemment, la création de GNU est pratiquement universelle maintenant , alors il ne devrait presque jamais y avoir de différence.