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 записей
- 15.10.2023 Уменьшение жёстко определённого размера окна приложения в формате AppImage
- 12.10.2023 Определение IP-адреса пользователя в Telegram через голосовой вызов
- 14.09.2023 Установка в мобильной версии Firefox любого расширения от десктоп-версии
- 10.09.2023 Часто используемые параметры sysctl, касающиеся настройки сети в Linux
- 09.08.2023 Запуск Linux на Android-телефоне с SD-карты без перепрошивки
- 18.04.2023 Перевод шифрованного раздела на LUKS2 и более надёжную функцию формирования ключа
- 31.03.2023 Пример правил nftables с реализацией port knoсking для открытия доступа к SSH
- 27.02.2023 Обновление сертификатов oVirt
- 20.11.2022 Решение проблемы со шрифтами в Steam после выставления времени после 2038 года
- 18.11.2022 Раскладка клавиатуры для ввода символов APL
- 10.09.2022 Настройка СУБД Postgresql для аутентификации пользователей через Active Directory
- 09.09.2022 Настройка СУБД PostgreSQL 13 под управлением Pacemaker/Corosync в Debian 11
- 08.09.2022 Создание виртуальных машин с помощью Qemu KVM
- 25.07.2022 Создание программ под SynapseOS
- 24.07.2022 Случайная задержка в shell-скрипте, выполняемом из crontab (без башизмов)
Следующие 15 записей >>




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

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