Я пытаюсь понять разницу между 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.
Полагаю, это не на всех платформах? Есть ли веская причина использовать одно вместо другого?
Есть ли какое-то историческое значение в том, почему существуют эти два имени?
gcc -o $@ $<
= нет источников ввода с gmake, потому что $ <оценивается как пустая строка. Существуют худшие комбинации, которые могут привести к в файлах gcc clobbering).$^
? Переменная с таким именем , конечно , существует в GNU Make, и, насколько я могу сказать , совместим с унаследованными Make. Отличается ли семантика в BSD?В моей системе нет разницы (gmake - это мягкая ссылка):
gmake означает GNU make. Существуют разные реализации make. На Linux-машине, скорее всего, make будет от GNU, а для облегчения жизни пользователя make софт связан с gmake.
источник
Обычная «противоположность»
gmake
- это BSDmake
, которая, как правило, присутствуетmake
в системах BSD, что неудивительно. Если вы хотите увидеть, на что похожа BSD make, на производных от Debian она доступна какapt-get install pmake
.источник
pmake
неудивительно, что BSD make? >. <Судя по всему, GNU make теперь практически универсален , так что почти никогда не должно быть разницы.
источник