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

UptoLike

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

40
какая-либо из зависимостей является абстрактной целью;
цель является именем файла и какая-либо из зависимостей, яв-
ляющихся именем файла, имеет более позднее время модификации, чем
цель.
В противном случае (т. е. ни одно из вышеприведенных условий не
выполняется) описанные в правиле команды не выполняются. Алгоритм
принятия решения о выполнении команд схематично можно предста-
вить так:
НужноВыполнятьКоманды (Правило)
{
если Правило.Цель.ЯвляетсяАбстрактной ()
return true
// цель является именем файла
если ФайлНеСуществует (Правило.Цель)
return true
цикл от i=1 до Правило.Число_зависимостей
{
если Правило.Зависимость[ i ].ЯвляетсяАбстрактной ()
return true
иначе
// зависимость является именем файла
{
если ВремяМодификации(Правило.Зависимость[ i ]) >
ВремяМодификации (Правило.Цель)
return true
}
}
return false
}
Абстрактные цели и имена файлов. Имена действий от имен
файлов утилита make отличает следующим образом: сначала выполня-
ется поиск файла с указанным именем, и если файл найден, то считается
что цель или зависимость являются именем файла; в противном случае
считается, что данное имя является либо именем несуществующего
файла, либо именем действия (различия между этими двумя вариантами
не делается, поскольку они обрабатываются одинаково).