makeでタイムスタンプつきのバックアップファイル作ろうとしてはまった。
これでいける。
TIMESTAMP=$(shell date +%Y%m%d-%H%M%S)
default:
echo ${TIMESTAMP}
sleep 2
echo ${TIMESTAMP}
VAR=$(コマンド)
ではなくVAR=$(shell コマンド)
とするところがミソで、makeは、前者の書き方ではコマンドシーケンスそのものが代入されてしまうので、処理時1秒以上時間がかかるとタイムスタンプがずれていってしまう。
TIMESTAMP=$(shell date +%Y%m%d-%H%M%S)
default:
echo ${TIMESTAMP}
sleep 2
echo ${TIMESTAMP}