Например, при обработке такого make-файла: dir_list = . .. src/include all: echo $(dir_list) на экран будет выведена строка: . .. src/include
Переменные могут не только содержать текстовые строки, но и "ссылаться" на другие переменные. Например, в результате обработки make-файла: optimize_flags = -O3 compile_flags = $(optimize_flags) -pipe all: echo $(compile_flags)
на экран будет выведено: -O3 -pipe
Во многих случаях использование переменных позволяет упростить make-файл и повысить его наглядность. Для того чтобы облегчить модификацию make-файла, можно разместить "ключевые" имена и списки в отдельных переменных и поместить их в начало make-файла: program_name = iEdit obj_list = main.o Editor.o TextLine.o $(program_name): $(obj_list) gcc $(obj_list) -o $(program_name) ...
Адаптация такого make-файла для сборки другой программы сведется к изменению нескольких начальных строк.