В чем разница между gmake и make?
Я пытаюсь понять разницу между "gmake" и "make"?
на моем linux box они идентичны:
% 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.
Я думаю, это не то же самое на всех платформах?
Есть ли веская причина использовать один над другим?
Есть ли какое-то историческое значение, почему два названия?
4 ответа:
'gmake' относится конкретно к GNU make. 'сделать' относится к системе по умолчанию сделать реализацию; в большинстве дистрибутивов Linux это GNU делают, но на других юниксах, она может указывать на некоторые другие реализации, например, в BSD сделать, или сделать реализаций различных коммерческих юниксах.
язык, принятый GNU make, является надмножеством языка, поддерживаемого традиционной утилитой make.
с помощью "gmake" конкретно вы можете использовать расширения GNU make не беспокоясь о том, что они будут неверно истолкованы некоторыми другими сделать реализацию.
в моей системе нет разницы (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 и сделать жизнь пользователя isier make мягко связана с gmake.
обычной "встречке"
gmake
is BSDmake
, который будет иметь тенденцию бытьmake
на системах BSD, неудивительно. Если вы хотите увидеть, что такое BSD make, на производных Debian он доступен какapt-get install pmake
.
видимо, GNU make это практически универсального теперь, Так что почти никогда не должно быть разницы.