Операционные системы. Замятин А.В - 39 стр.

UptoLike

Составители: 

39
ОбработатьПравило(Правило)
{
ОбработатьЗависимости (Правило)
если НужноВыполнятьКоманды (Правило)
{
ВыполнитьКоманды (Правило)
}
}
Обработка зависимостей. Функция «ОбработатьЗависимости» по-
очередно проверяет все перечисленные в правиле зависимости. Некото-
рые из них могут оказаться целями каких-нибудь правил. Для этих зави-
симостей выполняется обычная процедура достижения цели (функция
«ДостичьЦели»). Те зависимости, которые не являются целями, счита-
ются именами файлов. Для таких файлов проверяется факт их наличия.
При их отсутствии make аварийно завершает работу с сообщением об
ошибке.
ОбработатьЗависимости (Правило)
{
цикл от i=1 до Правило.число_зависимостей
{
если ЕстьТакаяЦель (Правило.зависимость[ i ])
{
ДостичьЦели (Правило.зависимость[ i ])
}
иначе
{
ПроверитьНаличиеФайла (Правило.зависимость[ i ])
}
}
}
Обработка команд. На стадии обработки команд решается вопрос
о том, следует ли выполнять описанные в правиле команды или нет.
Считается, что нужно выполнять команды в таких случаях, как:
цель является именем действия (абстрактной целью);
цель является именем файла и этого файла не существует;