J'essaie de comprendre la différence entre «gmake» et «make»?
Sur ma boîte 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 chose sur toutes les plateformes? Y a-t-il une bonne raison d'utiliser l'un sur l'autre?
Y a-t-il une signification historique à la raison pour laquelle il y a les deux noms?
gcc -o $@ $<
= pas de sources d'entrée avec gmake car $ <évalue une chaîne vide. Il existe de pires combinaisons qui peuvent en résulter dans les fichiers clobbering gcc).$^
? Une variable portant ce nom existe certainement dans GNU Make, et pour autant que je sache, elle est compatible avec l'ancienne version de Make. La sémantique de BSD Make est-elle différente?Sur mon système aucune différence (gmake est un lien souple à faire):
gmake signifie GNU make. Il existe différentes implémentations de make. Sur une machine Linux, make will très probablement par GNU et pour rendre la vie de l'utilisateur plus agréable, make est lié à gmake.
la source
L '«opposé» habituel
gmake
est BSDmake
, qui aura tendance à êtremake
sur les systèmes BSD, sans surprise. Si vous voulez voir à quoi ressemble BSD, sur les dérivés Debian, il est disponible en tant queapt-get install pmake
.la source
pmake
BSD fait-il sans surprise? >. <Apparemment, GNU make est pratiquement universel maintenant , donc il ne devrait presque jamais y avoir de différence.
la source