Я бы хотел сгенерировать свой рецепт clean
, используя несколько правил двойного двоеточия (на самом деле eval
ed в цикле foreach
). Согласно документации "[d] правила двоеточия с одной и той же целью фактически полностью отделены друг от друга", как в этом примере:
clean::
sleep 1
clean::
sleep 1
Когда он запускается с флагом -j
, чтобы включить параллельное выполнение, где это возможно, он явно запускает два спящих режима последовательно:
time make -j2 clean
sleep 1
sleep 1
real 0m2.010s
user 0m0.000s
sys 0m0.004s
Если правила должны быть независимыми, то make может (и IMHO очень должен) запускать соответствующие команды параллельно. Это ошибка? Есть ли способ принудительного распараллеливания в этом случае?