Spec-Zone.ru › GNU Make

Что содержат Makefiles

Makefiles содержат пять типов элементов: явные правила, неявные правила, определения переменных, директивы и комментарии. Правила, переменные и директивы подробно описаны в последующих главах.

  • Явное правило указывает, когда и как пересоздать один или несколько файлов, называемых целями правила. Оно перечисляет другие файлы, от которых зависят цели, называемые предпосылками цели, а также может содержать рецепт для создания или обновления целей. См. Написание правил.
  • Неявное правило указывает, когда и как пересоздать класс файлов на основе их имён. Оно описывает, как цель может зависеть от файла с именем, похожим на имя цели, и предоставляет рецепт для создания или обновления такой цели. См. Использование неявных правил.
  • Определение переменной — это строка, которая задаёт текстовое значение для переменной, которое можно использовать позднее в тексте. Пример простого makefile демонстрирует определение переменной objects как списка всех файлов объектов (см. Переменные делают Makefiles проще).
  • Директива — это инструкция для make выполнить специальное действие при чтении makefile. К ним относятся:
    • Чтение другого makefile (см. Включение других Makefiles).
    • Принятие решения (на основе значений переменных) о использовании или игнорировании части makefile (см. Условные части Makefiles).
    • Определение переменной из строки verbatim, содержащей несколько строк (см. Определение многострочных переменных).
  • Символ ‘#’ в строке makefile обозначает комментарий. Он и остальная часть строки игнорируются, за исключением случая с обратной косой чертой в конце строки, не экранированной другой обратной косой чертой, которая будет продолжать комментарий на нескольких строках. Строка, содержащая только комментарий (возможно, с пробелами перед ним), фактически считается пустой и игнорируется. Если вам нужен буквальный #, экранируйте его обратной косой чертой (например, \#). Комментарии могут встречаться в любой строке makefile, хотя они обрабатываются особым образом в определённых ситуациях.

    Вы не можете использовать комментарии внутри ссылок на переменные или вызовов функций: любая вставка # будет интерпретироваться буквально (а не как начало комментария) внутри ссылки на переменную или вызова функции.

    Комментарии внутри рецепта передаются оболочке, как и любой другой текст рецепта. Оболочка решает, как его интерпретировать: является ли это комментарием, решает оболочка.

    Внутри директивы define, комментарии не игнорируются во время определения переменной, а сохраняются в значении переменной. При раскрытии переменной они будут интерпретированы как make комментарии или как текст рецепта, в зависимости от контекста оценки переменной.

• Разделение строк Разделение длинных строк в makefiles

Copyright © 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022 Free Software Foundation, Inc.
Licensed under the GNU Free Documentation License.
https://www.gnu.org/software/make/manual/html_node/Makefile-Contents.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API