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.
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
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With