Переменные в 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)

Похожие статьи
make
Основы make
PHONY
CURDIR
shell
wget + make
Переменные в Make файлах
ifeq: Условные операторы
filter
-c: Компиляция
Linux
Bash
C
C++
C++ Header файлы
Configure make install
DevOps
Docker
OpenBSD
Errors make
Изображение баннера

Поиск по сайту

Подпишитесь на Telegram канал @aofeed чтобы следить за выходом новых статей и обновлением старых

Перейти на канал

@aofeed

Задать вопрос в Телеграм-группе

@aofeedchat

Контакты и сотрудничество:
Рекомендую наш хостинг beget.ru
Пишите на info@urn.su если Вы:
1. Хотите написать статью для нашего сайта или перевести статью на свой родной язык.
2. Хотите разместить на сайте рекламу, подходящую по тематике.
3. Реклама на моём сайте имеет максимальный уровень цензуры. Если Вы увидели рекламный блок недопустимый для просмотра детьми школьного возраста, вызывающий шок или вводящий в заблуждение - пожалуйста свяжитесь с нами по электронной почте
4. Нашли на сайте ошибку, неточности, баг и т.д. ... .......
5. Статьи можно расшарить в соцсетях, нажав на иконку сети: