1. 关系
'gmake'特指GNU make。 'make'是指系统默认的make实现; 在大多数Linux发行版中,make就是GNU make,但是在其他unix中,gmake可以指代make的某些其他实现,例如BSD make或各种商业unix的make实现。
gmake是GNU Make的缩写。 Linux系统环境下的make就是GNU Make,之所以有gmake,是因为在别的平台上,make一般被占用,GNU make只好叫gmake了。 比如在安装二进制文件进行编译时要使用make命令,但如果在Solaris或其他非GNU系统中运行,必须使用GNU make,而不是使用系统自带的make版本,这时要用gmake代替make进行编译。
GNU make接受的语言是传统make实用程序支持的语言的超集。
2. 在centos7中测试
# 查看系统linux版本
cat /etc/redhat-release
比较make和gmake:
结论:
1)在绝大多数情况下,gmake = make
2)gmake是make的超集, 在make不好用的情况下,可以尝试gmake解决