Функции, управляющие поведением make: error, warning, info, exit |
![]() |
Добавил(а) microsin |
От следующих функций зависит, как будет работать make. Обычно они используются для предоставления информации пользователям Makefile, или могут привести к остановке процесса сборки при обнаружении какой-либо ошибки в окружении (см. "8.13 Functions That Control Make" [1]), либо для безусловной остановки. $(error text_message...) Генерирует фатальную ошибку с сообщением в строке text_message. Обратите внимание, что ошибка генерируется при каждом вычислении этой функции. Таким образом, если вы поместите функцию $(error ...) внутри операторов цели (recipes, см. [3]), или в правой части рекурсивного присваивания переменной, то она не будет вычислена, пока обработка не будет развернута до конца. Текст сообщения будет расширен до момента генерации ошибки. Например, ifdef ERROR1 $(error error is $(ERROR1)) ... сгенерирует фатальную ошибку во время чтения makefile, если определена make-переменная ERROR1. Или, ERR = $(error found an error!) ... сгенерирует фатальную ошибку при работе make, если была вовлечена err target. $(warning text_message...) Эта функция работает подобно функции error, показанной выше, за исключением того, что она не приводит к остановке работы make. Вместо этого будет расширено text_message, и будет отображено соответствующее сообщение, но обработка makefile при этом продолжится. Результатом расширения этой функции будет пустая строка. $(info text_message...) Эта функция просто печатает содержимое своего текстового (расширенного) аргумента (аргументов) в stdout. Никакие имена makefile или номера строк не добавляются. Результатом расширения этой функции будет пустая строка. exit [код_статуса] Это обычный оператор операционной системы, который может использоваться в синтаксисе последовательности операторов цели (recipes, см. [3]). Он немедленно завершит работу make со статусом возврата, переданном в аргументе exit. [Ссылки] 1. GNU make. |