Четвертый BORLAND С++ и его окружение



         

Синтаксис явных правил - часть 2


явное правило, она сначала проверяет, не являются ли сами исходные файлы "исходный_файл" результирующим файлом "целевой_файл" в

каком-либо другом правиле формирующего файла. Если это так, то

сначала утилита MAKE анализирует это второе правило.

После того, как на основе других правил были созданы или обновлены все исходные файлы "исходный_файл", утилита MAKE проверяет наличие результирующего файла "целевой_файл". Если "целевой_файл" не существует, то все команды выполняются в том порядке, в котором они заданы. Если "целевой_файл" существует, то дата

и время его последней модификации сравниваются с датой и временем

каждого исходного файла "исходный_файл". Если какой-либо исходный

файл был модифицирован после того, как был модифицирован файл

"целевой_файл", то выполняется заданный перечень команд.

Имя файла может указываться в левой части явного правила

файла описания утилиты MAKE лишь один раз.

Каждая командная строка в явном правиле начинается с символа

пробела. Утилита MAKE рассматривает все строки, которые следуют

за явным правилом и продолжаются до очередной строки, начинающейся со столбца 1 (которой не предшествуют символы пробела) или до

конца файла, как часть списка команд для этого правила. Пустые

строки игнорируются.

Явное правило, за которым не следуют командные строки, интерпретируется несколько иначе, чем явное правило с командными

строками.

  • Если в состав явного правила входят команды, то результирующий файл зависит только от тех файлов, которые перечислены в явном правиле.
  • Если в явном правиле не заданы никакие команды, результирующий файл зависит от двух наборов файлов: тех файлов,

    которые заданы в явном правиле, и от всех файлов, которые

    подходят под определение неявного правила для результирующего файла (файлов). Это позволяет задавать зависимости,

    которые будут обрабатываться неявным правилом. Например:

    .c.obj

    BCC -c $<

    рrog.obj:

  • Файл рrog.obj зависит от файла рrog.c; если не совпадают даты этих файлов, то будет выполняться командная строка:

    BCC -c рrog.c




    Содержание  Назад  Вперед