Skip to content

Latest commit

 

History

History
45 lines (23 loc) · 4.09 KB

redo.md

File metadata and controls

45 lines (23 loc) · 4.09 KB

redo-bc

redo-bc - это реализация системы сборки redo (разработанной Даниэлем Дж. Бернштейном) на языке betterC (вариант языка D Programming Language без сборщика мусора). Этот проект основан на работе redo-c, созданной Кристианом Нойкирхеном (из https://github.com/leahneukirchen/redo-c), и использует оригинальную документацию из этого проекта, практически не измененную.

Документация

Пожалуйста, обратитесь к документации по redo на Python или учебнику Джонатана де Бойна Полларда для инструкций по использованию.

Замечания относительно реализации redo-bc

  • Без аргументов redo ведет себя как redo all.

  • Файлы .do всегда выполняются в своем каталоге, аргументы являются относительными путями.

  • Стандартный вывод файлов .do будет захвачен только как результат сборки, если используется redo -s, или переменная окружения REDO_STDOUT установлена в 1. В противном случае стандартный вывод просто отображается.

  • Неисполняемые файлы .do выполняются с использованием /bin/sh -e. redo -x может использоваться для запуска /bin/sh -e -x вместо этого, для отладки файлов .do или при подробной сборке.

  • Исполняемые файлы .do просто выполняются и должны содержать строку shebang.

  • Если цель не создает вывод, файл цели не создается. Цель считается всегда устаревшей.

  • Файлы .do с именем default.do проверяются во всех родительских каталогах до /.

  • Параллельные сборки могут быть запущены с помощью redo -j N (или JOBS=N redo), это использует брокера заданий, аналогичного, но несовместимого с GNU make.

  • Для определения изменения файла мы сначала сравниваем ctime, и в случае различий - хеш SHA2 содержимого.

  • Зависимости отслеживаются в файлах .dep.BASENAME повсюду в дереве. Это деталь реализации.

  • Сборки могут быть запущены из любого каталога и должны давать одинаковые результаты.

  • redo -f рассматривает все цели как устаревшие и выполняет принудительную пересборку.

  • redo -k продолжает выполнение, даже если цель не удалось построить.

  • В настоящее время это очень экспериментальное программное обеспечение и требует вашей доработки.

Авторские права

Насколько это возможно согласно закону, Лиа Нойкирхен leah@vuxu.org отказалась от всех авторских прав и смежных или соседних прав на эту работу.

Я, aquaratixc, продолжающий работу этого доброго человека, также отказываюсь от авторских прав и смежных прав.

http://creativecommons.org/publicdomain/zero/1.0/