Em Makefile , você refere-se a uma variável usando a sintaxe %código%. Usando $(var_name) , o primeiro caractere que não seja um sinal de dólar $var_name , abra parêntese $ ou abra a chave ( tratada como nome da variável.
Em { , você realmente obtém o conteúdo da variável $now seguido pela string literal $n .
Então você precisa:
$(now)
para obter o conteúdo da variável chamada ow .
Observe também que now obtém o conteúdo da variável chamada now=$(date) em vez do resultado do comando date . Você precisa usar a função de shell :
now=$(shell date)