Makefile .NOTPARALLEL: цель, сделать весь make-файл непараллельным, а не только указанную цельLinux

Ответить Пред. темаСлед. тема
Anonymous
 Makefile .NOTPARALLEL: цель, сделать весь make-файл непараллельным, а не только указанную цель

Сообщение Anonymous »

В соответствии с отключением параллельного выполнения при добавлении цели .NOTPARALLEL: с предварительными условиями необходимые условия выполняются последовательно.

Если специальная цель .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
При запуске цели notpara я действительно синхронизирую их:

Код: Выделить всё

$ make -j notpara
t4...
t4 - done
t3...
t3 - done
t2...
t2 - done
t1...
t1 - done
Done!
Но я также получаю это, когда запускаю цель para, которая должна работать параллельно:

Код: Выделить всё

$ make -j para
t4...
t4 - done
t3...
t3 - done
t2...
t2 - done
t1...
t1 - done
Done!
При удалении .NOTPARALLEL: все будет непараллельно:

Код: Выделить всё

$ 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
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Linux»