Я обычно использую систему сборки высокого уровня, такую как cmake
, для создания своего кода C/C++. Но по различным причинам я использую только GNU make
.
Я делаю рекурсивную сборку, в которой каждый каталог имеет make-файл.
Недавно мне пришлось изменить все мои make-файлы с использования make
на $(MAKE)
, после чего начали работать параллельные сборки.
Во всей литературе, которую я читал, говорится: «Всегда используйте $(MAKE)
» (книга О'Рейли, более 5 решений на stackoverflow.com от людей, набравших более 10-40 тысяч баллов).
Почему в make-файлах всегда используется $(MAKE)
вместо make
?
(очевидно, ОДНА причина в том, что $(MAKE)
каким-то образом позволяет выполнять параллельные сборки.)
Происходит ли что-то большее, чем простая замена $(MAKE)
на make
?