我想了解'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.
我猜这在所有平台上都不一样? 是否有充分的理由使用其中一个? 为什么有这两个名字有一些历史意义吗?
答案 0 :(得分:150)
'gmake'特指GNU make。 'make'是指系统的默认make实现;在大多数Linux发行版中,这是GNU make,但在其他unix上,它可以引用make的其他一些实现,比如BSD make,或各种商业unix的make实现。
GNU make接受的语言是传统make实用程序支持的语言的超集。
通过特别使用'gmake',您可以使用GNU make扩展,而不必担心它们会被其他一些make实现误解。
答案 1 :(得分:10)
在我的系统上没有区别(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代表GNU make。 make的实现有所不同。在Linux机器上最有可能由GNU制作并使用户的生命更加柔和地链接到gmake。
答案 2 :(得分:2)
gmake
的通常“相反”是BSD make
,在BSD系统上往往是make
,不出所料。如果你想看看BSD是什么样的,在Debian衍生品上它可以apt-get install pmake
获得。
答案 3 :(得分:-3)
显然,GNU make是practically universal now,所以应该几乎没有差别。