147

「gmake」と「make」の違いを理解しようとしていますか?

私のLinuxボックスでは、それらは同一です。

% 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.

これはすべてのプラットフォームで同じではないと思いますか?どちらか一方を使用する正当な理由はありますか?
2つの名前がある理由には歴史的な意味がありますか?

4

4 に答える 4

186

「gmake」は特にGNUmakeを指します。「make」は、システムのデフォルトのmake実装を指します。ほとんどのLinuxディストリビューションではこれはGNUmakeですが、他のUNIXでは、BSD makeなどの他のmakeの実装、またはさまざまな商用UNIXのmake実装を指す場合があります。

GNU makeで受け入れられる言語は、従来のmakeユーティリティでサポートされている言語のスーパーセットです。

特に「gmake」を使用することで、他のmake実装によって誤って解釈されることを心配せずにGNUmake拡張機能を使用できます。

于 2009-07-28T15:39:03.577 に答える
12

私のシステムでは違いはありません(gmakeは作成するソフトリンクです):

-> 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はGNUmakeの略です。makeにはさまざまな実装があります。Linuxマシンでは、おそらくGNUによるmake willであり、ユーザーの生活をより快適にするために、makeはgmakeにソフトリンクされています。

于 2009-07-28T15:40:05.943 に答える
2

の通常の「反対」gmakeはBSDであり、当然のことながらBSDシステム上にmakeある傾向があります。makeBSD makeがどのようなものかを知りたい場合は、Debian派生物では。として利用できますapt-get install pmake

于 2009-07-28T15:40:05.367 に答える
-2

どうやら、GNU makeは現在実質的に普遍的であるため、違いはほとんどないはずです。

于 2009-08-02T15:11:29.543 に答える