Вам нужно использовать команду $ (операция оболочки) в make. Если вы используете operation
, то команда оболочки будет оцениваться каждый раз. Если вы пишете в файл журнала, вы не хотите, чтобы имя файла журнала менялось каждый раз, когда вы обращаетесь к нему одной командой make.
LOGPATH = logs
LOGFILE = $(LOGPATH)/$(shell date --iso=seconds)
test_logfile:
echo $(LOGFILE)
sleep 2s
echo $(LOGFILE)
Будет выведено:
echo logs/2010-01-28T14:29:14-0800
logs/2010-01-28T14:29:14-0800
sleep 2s
echo logs/2010-01-28T14:29:14-0800
logs/2010-01-28T14:29:14-0800