Переменные в Make
Вывести переменную на экран с помощью echo | |
Другие примеры | |
target specific переменные | |
info | |
Связанные статьи |
Вывести переменную на экран с помощью echo
Для вывода содержимого переменных используются фигурные скобки.
FOO = bar .PHONY: vars vars: @echo ${FOO}
make vars
bar
Можно использовать круглые скобки
URL="heihei.ru" .PHONY: web web: @echo $(URL)
Другие примеры
С помощью shell можно получить данные из вне и записать в переменную
X = "ABCD" FILES := $(shell ls) .PHONY: files files: @echo ${X} @echo ${FILES}
make files
ABCD GNUmakefile heihei.ru.config
target specific переменные
Можно ограничить область видимость переменной определённой целью.
Общий синтаксис
target … : variable-assignment
название цели : присваивание значения переменной
test: A = B
Пример
X = "ABCD" FILES := $(shell ls) .PHONY: files files: X = "EFGH" files: FILES := $(shell pwd) files: @echo ${X} @echo ${FILES}
make files
EFGH
/home/andrei
Как видите - выведены значения локальных переменных а не глобальных.
info
Пример
X="B" $(info X is $X) TAG="ubuntu" $(info TAG is $(TAG))
make
X is "B"
TAG is ubuntu
Обратите внимание, что при использовании функции info переменную, имя которой состоит из одного символа
в скобки можно не брать - $X
А переменную с более длинным именем нужно заключить в скобки $(TAG)
РЕКЛАМА от Яндекса. Может быть недоступна в вашем регионе
Конец рекламы. Если там пусто считайте это рекламой моей телеги