Отладка сборки Open Dylan Debian

Если Вы хотите выполнить два процесса от той же консоли или xterm на переднем плане, Вы могли рассмотреть выполнение их в экране или tmux сессиях, которые являются оконечными мультиплексорами. Процессы не будут работать при том же процессе оболочки затем, но при отдельных процессах оболочки.

Например, использование экрана:

  • Запустить screen
  • Выполните первый процесс
  • Пресса Ctrl-a c запустить вторую сессию оболочки
  • Запустите второй процесс
  • Переключитесь назад и вперед между двумя использованиями подоболочек ctrl-a ctrl-a

См. экранное руководство для большего количества информации.

2
02.11.2015, 16:28
2 ответа

@ перед некоторыми строками скажет make «не отображать эту строку».

Вы можете отредактировать и удалить некоторые из @ или удалить их все из Makefile с помощью:

sed -i -e 's/^\(\t\+)@/\1/ ; s/\(^\t\+\)echo/\1@echo/' Makefile

Извлечение документа make от @Ortomala Локни сделал хорошее замечание о echo , поэтому я изменил сценарий sed, чтобы вернуть @ перед любыми командами echo .

Чтобы иметь дело с Automake, вы, вероятно, захотите быть немного более осторожным с удалением символов @ , Automake использует @ NAME @ для замены переменных в выходной Makefile:

Может быть, что-то вроде этого, чтобы не менять строки, начинающиеся с \ t + @ NAME @ :

sed -ire 's/^(\t+)@([^ @]+ )/(\t)\1/ ; s/(^\t+)echo/\1@echo/' Makefile.in
2
27.01.2020, 22:04

Чтобы завершить ответ cas, вы можете прочитать руководство GNU make , в котором говорится:

Обычно make печатает каждую строку рецепта до его выполнения. Мы называем это эхом, потому что создается впечатление, будто вы сами набираете строки.

Когда строка начинается с символа «@», эхо этой строки подавляется. «@» Отбрасывается перед передачей строки в оболочку. Обычно вы используете это для команды, единственным результатом которой является печать чего-либо, например, команда echo, чтобы указать ход выполнения make-файла:

@echo О создании файлов распространения

Когда make получает флаг '-n 'или' --just-print 'он только повторяет большинство рецептов, не выполняя их. См. Обзор параметров. В этом случае печатаются даже строки рецепта, начинающиеся с «@». Этот флаг полезен для определения того, какие рецепты заставляют задуматься о необходимости, не выполняя их на самом деле.

Флаг «-s» или «--silent» для make предотвращает любое повторение, как если бы все рецепты начинались с «@». Правило в make-файле для специальной цели .SILENT без предварительных требований имеет такой же эффект (см. Специальные встроенные имена целей). .SILENT по сути устарел, поскольку ‘@’ более гибок.

1
27.01.2020, 22:04

Теги

Похожие вопросы