Ich versuche den Unterschied zwischen "gmake" und "make" zu verstehen.
Auf meiner Linux-Box sind sie identisch:
% 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.
Ich vermute, dass dies nicht auf allen Plattformen gleich ist? Gibt es einen guten Grund, einen über den anderen zu verwenden?
Gibt es eine historische Bedeutung dafür, warum es die beiden Namen gibt?
gcc -o $@ $<
kann in gcc clobbering files).$^
? Eine Variable mit diesem Namen existiert sicherlich in GNU Make und ist, soweit ich das beurteilen kann, mit Legacy Make kompatibel. Ist die Semantik in BSD Make anders?Auf meinem System kein Unterschied (gmake ist ein Softlink zu machen):
gmake steht für GNU make. Es gibt verschiedene Implementierungen von make. Auf Linux-Rechnern wird höchstwahrscheinlich ein Wille von GNU erstellt, und um das Leben des Benutzers einfacher zu machen, ist make weich mit gmake verbunden.
quelle
Das übliche "Gegenteil" von
gmake
ist BSDmake
, dasmake
auf BSD-Systemen eher überraschend ist. Wenn Sie sehen möchten, wie BSD aussieht, ist es auf Debian-Derivaten als verfügbarapt-get install pmake
.quelle
pmake
ist es nicht überraschend, dass BSD macht? >. <Anscheinend ist GNU make jetzt praktisch universell , daher sollte es fast nie einen Unterschied geben.
quelle