2017-01-02 5 views
0

Я использую Makefile для своих проектов. Мне нужно Makefile, чтобы повторить дату и мое имя компьютера в файл:Как передать дату в файл через Makefile?

files: 
    echo " *  Author: $(whoami)" >> myFile 
    echo " * Created on: $(date +%D)" >> myFile 

Я бы предположить файл вида:

*  Author: eDeviser 
* Created on: 02.01.2017 

Тем не менее это выглядит следующим образом:

*  Author: 
* Created on: 

Я попытался ввести две строки непосредственно в терминал. Это очень хорошо работает:

$echo " *  Author: $(whoami)" >> myFile 
$echo " * Created on: $(date +%D)" >> myFile 
$cat myfile 
* Created on: 01/02/17 
*  Author: lukas 

Где моя ошибка?

ответ

1

make также использует синтаксис для своих переменных и функций для синтаксиса $( .

Используйте $$, чтобы получить один $ в команду, которую вы хотите запустить:

files: 
     echo " *  Author: $$(whoami)" >> myFile 
     echo " * Created on: $$(date +%D)" >> myFile