Если специальная цель .NOTPARALLEL если нигде не указано никаких предварительных условий, то весь экземпляр make будет запускаться последовательно, независимо от настройки параллельного режима.
Если специальная цель .NOTPARALLEL имеет предварительные условия, то каждое из этих предварительных условий будет считаться целью, и все предварительные условия этих целевых объектов будут выполняться последовательно. Обратите внимание, что только при построении этой цели предварительные условия будут выполняться последовательно: если какой-либо другой целевой объект содержит те же предварительные условия и не находится в .NOTPARALLEL, то эти предварительные условия могут выполняться параллельно.
К сожалению, в моем случае это не работает. make-файл:
Код: Выделить всё
t%:
@ echo "$@..."
@ sleep 0.0$*
@ echo "$@ - done"
notpara: t4 t3 t2 t1
@ echo "Done!"
para: t4 t3 t2 t1
@ echo "Done!"
.NOTPARALLEL: notpara
Код: Выделить всё
$ make -j notpara
t4...
t4 - done
t3...
t3 - done
t2...
t2 - done
t1...
t1 - done
Done!
Код: Выделить всё
$ make -j para
t4...
t4 - done
t3...
t3 - done
t2...
t2 - done
t1...
t1 - done
Done!
Код: Выделить всё
$ make -j notpara
t4...
t3...
t2...
t1...
t1 - done
t2 - done
t3 - done
t4 - done
Done!
Код: Выделить всё
$ make -v
GNU Make 4.3
Подробнее здесь: https://stackoverflow.com/questions/790 ... instead-of