Предположим, у меня есть цель, состоящая из foreach l oop в make-файле
# variables
CONFIG = 1 2 3
LOG_DIR=CONFIG_$(VAR)
# targets
run:
running application
run_configs:
$(foreach VAR, $(CONFIG), make run CONFIGRATION=$(VAR) logging ; )
build_dir:
mkdir $(LOG_DIR)/
logging: build_dir
cp logdata/* $(LOG_DIR)/.
При запуске цели foreach
make run_configs
running application with CONFIG=1
making logdata
cp logdata/* CONFIG_/.
Ожидаемый каталог - CONFIG_1, но созданный - CONFIG_
Я понимаю, что make-файл анализируется первым, поэтому переменная LOG_DIR оценивается как CONFIG_, поскольку переменная foreach VAR в это время равна нулю.
Я не могу найти способ обновлять переменную LOG_DIR каждый раз foreach l oop выполняется.
Есть ли способ достичь этого.