Добавить дату и время к переменной окружения в make-файле linux - PullRequest
17 голосов
/ 07 декабря 2009

В моем Makefile я хочу создать переменную окружения, используя текущие дату и время. Псевдокод:

LOG_FILE := $LOG_PATH + $SYSTEM_DATE + $SYSTEM_TIME

Любая помощь приветствуется - спасибо.

Ответы [ 3 ]

30 голосов
/ 29 января 2010

Вам нужно использовать команду $ (операция оболочки) в 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
20 голосов
/ 07 декабря 2009

Вы можете использовать это:

LOGFILE=$(LOGPATH) `date +'%y.%m.%d %H:%M:%S'`
1 голос
/ 07 декабря 2009

вы можете использовать команду "дата"

...