Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Append date and time to an environment variable in linux makefile

In my Makefile I want to create an environment variable using the current date and time. Pseudo code:

LOG_FILE := $LOG_PATH + $SYSTEM_DATE + $SYSTEM_TIME 

Any help appreciated - thanks.

like image 441
ng5000 Avatar asked Dec 07 '09 10:12

ng5000


1 Answers

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 
like image 63
Aaron Avatar answered Sep 21 '22 07:09

Aaron