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