Операционная система UNIX. Руководство программиста

     

Командная строка


Макроопределения, опции, имена файлов описаний и целевых файлов могут быть переданы утилите make как аргументы командной строки, имеющей следующий вид:

make [опции] [макроопределения] [целевые_файлы]

Аргументы командной строки интерпретируются следующим образом. Прежде всего анализируются аргументы, являющиеся макроопределениями (то есть аргументы, содержащие внутри себя знаки равенства), и выполняются необходимые присваивания. Макросы, заданные в командной строке, имеют приоритет над макросами, заданными в файле описаний. Затем рассматриваются аргументы-опции. Допускаются следующие опции:



-i
  Игнорировать коды ошибок, возвращаемых запускаемыми программами. Данный режим устанавливается и тогда, когда в файле описаний указано фиктивное целевое имя .IGNORE.
  -s
  Молчи, скрывайся и таи... Не выводить командные строки перед их выполнением. Данный режим устанавливается и тогда, когда в файле описаний указано фиктивное целевое имя .SILENT.
  -r
  Не использовать встроенные правила.
  -n
  Пробный режим. Распечатывать команды, но не выполнять их. Выводятся даже команды, начинающиеся со знака @.
  -t
  "Массаж" целевых_файлов: время их создания устанавливается равным текущему времени; команды, предназначенные для получения целевых_файлов, не выполняются.
  -q
  Запрос. Утилита make возвращает нулевой или ненулевой код завершения в зависимости от того, нужно ли обновлять целевые_файлы (0, если не нужно).
  -p
  Вывести все макроопределения, а также все описания целевых_файлов.
  -k
  При ошибке прекращать выполнение команд, связанных с текущей зависимостью, но продолжать обработку других зависимостей, не связанных с текущей.
  -e
  Использовать в первую очередь переменные окружения, а не одноименные макросы make-файлов.
  -f
  Следующий аргумент считается именем файла описаний. Имя файла - обозначает стандартный ввод. Если опция -f не указана, читается файл с именем makefile, Makefile или s.[mM]akefile из текущего каталога. В первую очередь используется содержимое файлов описаний, а не встроенные правила.

Следующие два аргумента обрабатываются в точности так же, как опции:

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

  .DEFAULT
  Если некоторый файл должен быть получен, но нет ни явных команд, ни соответствующих встроенных пра- вил, то используются команды, ассоциированные со специальным целевым именем .DEFAULT, если оно ука- зано.
  .PRECIOUS
  Файлы, которые зависят от этого специального имени, не удаляются, если работа утилиты make была прервана или прекращена.



Содержание раздела