Spec-Zone.ru › GNU Make

Директива override

Если переменная была установлена с аргументом команды (см. Переопределение переменных), то обычные присваивания в файле make игнорируются. Если вы хотите установить переменную в файле make, даже если она была установлена с аргументом команды, вы можете использовать директиву override, которая выглядит так:

override variable = value

или

override variable := value

Для добавления большего текста к переменной, определенной в командной строке, используйте:

override variable += more text

См. Добавление большего текста к переменным.

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

Директива override была придумана не для эскалации в войне между файлами make и аргументами командной строки. Она была придумана, чтобы вы могли изменять и добавлять значения, которые пользователь указывает с помощью аргументов командной строки.

Например, предположим, что вы всегда хотите включать переключатель «-g» при запуске компилятора C, но вы хотите позволить пользователю указать другие переключатели с помощью аргумента командной строки, как обычно. Вы можете использовать эту директиву override:

override CFLAGS += -g

Вы также можете использовать директивы override с директивами define. Это делается так, как вы, вероятно, ожидаете:

override define foo =
bar
endef

См. Определение многострочных переменных.

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/Override-Directive.html

Spec-Zone.ru

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