The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Ninja - small build system similar to make

Дата
18 Feb 2011
ЗаголовокNinja - small build system similar to make
ПояснениеNinja представляет собой упрощенный вариант программы make, оптимизированный для значительного ускорения процесса повторной сборки крупных проектов, после внесения незначительных изменений в код. Ninja не поддерживает сложные сценарии принятия решений и оперирует простейшими правилами для описания зависимостей между файлами собираемого проекта. Вопрос учета системных зависимостей выносятся на плечи внешних инструментов, таких как пакет autotools. Использование Ninja позволяет значительно сократить время выполнения служебных операций в процессе пересборки.

Дополнительно в Ninja была добавлена поддержка некоторых новых возможностей, например:

  • Буферизация вывода всех параллельно выполняемых команд, что позволило более точно ассоциировать ошибку с вызвавшей её командой, без смешивания с выводом от других процессов;
  • Правило может ссылаться на дополнительную информацию о разрешении неявных зависимостей, что позволяет, например, обеспечить корректный учет зависимостей заголовочных файлов;
  • Процесс сборки может приводить к созданию сразу нескольких целевых файлов;
  • Формирование целевого файла косвенно зависит от формирующей его командной строки, т.е. изменение опций компилятора приводит к пересборке соответствующих файлов;
  • Директории для помещения результатов сборки создаются до выполнения связанных с ними правил;
  • При выполнении правил могут использоваться краткие описания выполняемых команд, например, "CC foo.o" вместо длинной командной строки.
Home URLhttps://github.com/martine/ninja
Флагenglish
РазделСборка проекта и портирование
Ключи

 Добавить ссылку
 
 Поиск ссылки (regex):
 

Последние заметки
<< Предыдущие 15 записей
- 22.08.2018 Компиляция приложений с поддержкой OpenCL без закрытых драйверов
- 25.07.2018 Организация доступа к SSH и HTTPS через один 443 порт при помощи nginx
- 05.07.2018 Как получать ответы на вопросы по программированию прямо из командной строки или редактора
- 11.06.2018 Формирование минималистичного окружения GNOME, очищенного от излишеств
- 09.06.2018 Использование SystemTap для расшифровки локального HTTPS-трафика
- 17.05.2018 Sonatype Nexus как Maven proxy
- 11.05.2018 Как автоматически отключить закреплённые шапки на сайтах в Firefox
- 22.04.2018 Кодирование видео при помощи GPU из файла, запись с экрана и стриминг
- 15.04.2018 Организация шифрованного доступа к DNS-серверу BIND (DNS-over-TLS) при помощи nginx
- 14.04.2018 Включение DNS-Over-TLS в LEDE/OpenWrt через замену резолвера на Unbound
- 12.04.2018 Трассировка обмена данными через Unix domain socket
- 04.04.2018 Выбор метода обмена ключами с при подключении по ssh к Cisco ASA
- 20.03.2018 Правильное отображение русских букв для zip-архивов в KDE ARK
- 28.02.2018 Рекомендации по восстановлению данных со сбойного накопителя
- 26.02.2018 Бесшовная миграция (роуминг) Wi-Fi для клиентов Linux и Android
Следующие 15 записей >>




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру