LINUX.ORG.RU

Как погасить избыточный вывод сообщений компиляции?

 ,


1

1

Подозреваю, что избыточный вывод сообщений в терминале заметно тормозит процесс компиляции.

«alias make make -s» лишь отчасти спасает ситуацию, но всё равно эти простыни на экране из жутких строк с полными путями команд и опций компиляции доставляют.

После запуска make в командной строке желательно видеть хоть какой-то индикатор прогресса сборки, а в конце процесса получить сообщение об успешности или сообщение об ошибке. Можно такое сделать стандартными средствами?

★★★★★

Последнее исправление: iZEN (всего исправлений: 1)
Ответ на: комментарий от anonymous

Очень качественный показатель. Да...

iZEN ★★★★★
() автор топика
Ответ на: комментарий от iZEN
if make > output; then
  echo "Finished"
else
  echo "Failed"
  tail output
fi

и да, stderr, в который он ошибки валит, пойдет в консоль, так что увидишь

marvin_yorke ★★★
()
Последнее исправление: marvin_yorke (всего исправлений: 1)

эти простыни на экране из жутких строк с полными путями команд и опций компиляции доставляют.

А флаг -v точно не стоит? А то он обычно такие простыни выводит.

makeB
()
Ответ на: комментарий от makeB

А флаг -v точно не стоит?

У чего? У компилятора? Нет, наверное. (Использую стандартный make для портов и системы FreeBSD)

iZEN ★★★★★
() автор топика
Ответ на: комментарий от iZEN

О результатах завершения процесса как узнать?

make > output ; echo «$?»

хоть какой-то индикатор прогресса сборки

не вышло, значит работает

AGUtilities ★★★
()
Последнее исправление: AGUtilities (всего исправлений: 2)

по сути вопроса «вывод сообщений в терминале заметно тормозит процесс» — весьма сомнительно

AGUtilities ★★★
()

попробуй так же компилятору выставить флаг -pipe, чуток но думаю увеличит скорость компиляции.

makeB
()
Ответ на: комментарий от iZEN

посмотри как в OpenWRT сделано, там вывод типа

компиляю пакет foo
компиляю пакет bar
ура, скомпилялось

либо make -V и полный output

marvin_yorke ★★★
()
Последнее исправление: marvin_yorke (всего исправлений: 1)

Эмулятор eterm из enlightment спасёт отца русской некромантии

quiet_readonly ★★★★
()
Ответ на: комментарий от iZEN

cmake используй. по-умолчанию он пишет только о прогрессе

Reset ★★★★★
()
Ответ на: комментарий от AGUtilities

по сути вопроса «вывод сообщений в терминале заметно тормозит процесс» — весьма сомнительно

нет, так и есть - иксовые если, то отжирает кучу проца на быструю перерисовку, а tty ещё тормозней - на свой тачке недавно проверял: tty в 9 раз тормозней
можешь проверить обычной командой типа seq 100500
как там fb - хз
не пользуюсь
потому, в том числе, в иксах попапы рулят и педалят
свежие цифры

0m1.327
супротив
0m9.902

megabaks ★★★★
()
Последнее исправление: megabaks (всего исправлений: 2)
Ответ на: комментарий от megabaks

а если в tty задать ту же команду и убежать в другую, то
0m0.156
думай

megabaks ★★★★
()

Если проект не свой, попробуй grep -v "-I" или что там часто встречается. Если свой, посмотри как makefile у LuaJIT'а устроен.

anonymous
()

Так поправь правило генерации o-файлов из исходников в makefile. Вот у меня например такое:

.cc.o:
	@echo "Compiling '$^'..."
	@$(CC) -c -pipe $(compile_flags) -o obj/$@ -MMD $< 2>&1 | tee -a $(err_log)

Выдает только строки - «Компилирую файл.сс» и предупреждения от компилятора (и записывает их в файл err_log).

sigurd ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.