我在试着理解'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.
我猜这不是在所有平台上都是一样的?是否有充分的理由使用其中一个而不是另一个?
为什么有这两个名字,有什么历史意义吗?
发布于 2009-07-28 15:39:04
‘'gmake’特指GNU make。“make”指的是系统的默认make实现;在大多数Linux发行版上,这是GNU make,但在其他unixes上,它可以指make的其他实现,例如BSD make,或者各种商业unixes的make实现。
GNU make接受的语言是传统make实用程序支持的语言的超集。
通过使用'gmake‘,你可以使用GNU make扩展,而不用担心它们会被其他make实现曲解。
发布于 2009-07-28 15:40:06
在我的系统上没有区别(gmake是make的软链接):
-> 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进行软链接,以使用户的生活更美好。
发布于 2009-07-28 15:40:05
gmake
通常的“对立面”是BSD make
,在BSD系统上它将倾向于make
,这并不奇怪。如果你想看看BSD make是什么样子,在Debian的衍生品上可以找到apt-get install pmake
。
https://stackoverflow.com/questions/1194957
复制相似问题