Имеется makefile:
all: bin lib
X := BIN
bin:
@echo 'Hello $(X)'
X := LIB
lib:
@echo 'Hello $(X)'
Вывод:
Hello LIB <--- а мечтался BIN
Hello LIB
ЧЯДНТ?
Проблему поймал когда попытался заюзать временные переменные внутри define ... endef
, который потом подавался на вход $(eval $(call ...))
. Т.е. исходный вопрос на самом деле ещё замороченнее: как юзать временные переменные внутри таких вот самодельных «функций»?