Не уверен, что это возможно только в одном Makefile, но я надеялся написать Makefile таким образом, что попытка создания какой-либо цели в файле автоматически определяет количество процессоров в текущей системе и создает целевой параллельно для количества процессоров.
Что-то вроде приведенных ниже примеров "псевдокода", но гораздо более чистых?
all:
@make -j$(NUM_PROCESSORS) all
Или:
all: .inparallel
... build all here ...
.inparallel:
@make -j$(NUM_PROCESSORS) $(ORIGINAL_TARGET)
В обоих случаях все, что вам нужно набрать, это:
% make all
Надеюсь, это имеет смысл.
UPDATE: все еще надеется на пример Makefile для вышеперечисленного. Не очень заинтересовано в поиске количества процессов, но заинтересовано в том, как писать make файл для параллельной сборки без опции -j командной строки.