make・Makefile - 日付を変数化


 クラウディア


1. 概要
2. 日付を変数化
3. 参考サイト

1. 概要

 「シェル - シェルスクリプト」で、似たようなことを書きましたが。  わりとありがちなことではないかと思います。  スクリプト内で、日付を変数として扱いたいという場面。  シェルスクリプトでできたので、いざ、「Makefile」へ記述しようとしたら、シェルスクリプトの変数と「make」の変数は、違うものでありますわん。

2. 日付を変数化

 これまた「シェル - シェルスクリプト」と同じことを書きますが、「date」コマンドで、日付の部分を書式化して取得するには

$ date "+%Y%m%d"
20210729
 とやればいいので、後は変数展開させるだけのことです。

today   = $(shell date "+%Y%m%d")

default	:
	@echo $(today)
 という「Makefile」を書いて、「make」すると、下記の出力が得られます。

20250626

3. 参考サイト

 本ページは、下記のサイトを参考にさせていただきました。
Makefile の変数展開はレシピの実行前に行われる