04. Переменные

Переменные

В имени переменных обычно используются заглавные буквы, цифры и подчеркивания, НЕЛЬЗЯ использовать # = :
Пример объявления переменной TARGET
TARGET = mainfile

обращение:

$(TARGET)

= — переменная вычисляется каждый раз при обращении (рекурсивно вычисляемая)
:= — переменная вычисляется 1 раз при присваивании (как define) (только в GNU)

Ссылка с заменой:

пусть есть
SOURCES=main.cpp file1.cpp file2.cpp

хотим получить объектные файлы (по сути файлы из SOURCES, но с расширением .o)

OBJECTS=$(SOURCES:.cpp=.o)

Автоматические переменные:

$@ — имя цели
$< — имя первой зависимости
$? — имена всех зависимостей, которые новее цели с пробелами между ними
$^ — имена всех зависимостей, с пробелами между ними

Переменная VPATH

VPATH определяет список путей поиска
Например VPATH = src inc — позволяет указать ПАПКИ в которых искать файлы
разделитель – пробел или двоеточие

Переменная vpath (маленькими) (только в GNU)
vpath %.h headers
указывает что ВСЕ файлы с расширением .h лежат в папке headers

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *