- 1. 概要
- 2. 日付を変数化
- 3. FreeBSD
- 4. 参考サイト
1. 概要
「シェル - シェルスクリプト」で、似たようなことを書きましたが。
わりとありがちなことではないかと思います。
スクリプト内で、日付を変数として扱いたいという場面。
シェルスクリプトでできたので、いざ、「Makefile」へ記述しようとしたら、シェルスクリプトの変数と「make」の変数は、違うものでありますわん。
2. 日付を変数化
これまた「シェル - シェルスクリプト」と同じことを書きますが、「date」コマンドで、日付の部分を書式化して取得するには
$ date "+%Y%m%d"
20210729
とやればいいので、後は変数展開させるだけのことです。
today = $(shell date "+%Y%m%d")
default :
@echo $(today)
という「Makefile」を書いて、「make」すると、下記の出力が得られます。
20250626
「YYYY-MM-DD」の書式で書く場合は、単に間に「-」をいれるだけなので、下記のように記述します。
today = $(shell date "+%Y-%m-%d")
default :
@echo $(today)
3. FreeBSD
「FreeBSD」の場合は、書式が異なるので、下記のようになります。
today != date +%Y-%m-%d
default :
@echo $(today)
4. 参考サイト
本ページは、下記のサイトを参考にさせていただきました。
「Makefile の変数展開はレシピの実行前に行われる」
|
|