Append date and time to an environment variable in linux makefile

You need to use the $(shell operation) command in make. If you use operation, then the shell command will get evaluated every time. If you are writing to a log file, you don’t want the log file name to change every time you access it in a single make command.

LOGPATH = logs
LOGFILE = $(LOGPATH)/$(shell date --iso=seconds)

test_logfile:
    echo $(LOGFILE)
    sleep 2s
    echo $(LOGFILE)

This will output:

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

Leave a Comment

Hata!: SQLSTATE[HY000] [1045] Access denied for user 'divattrend_liink'@'localhost' (using password: YES)