最近よく味玉を作っているのだけど、ジップロックに日付を記入し忘れたり、ボウルに水を入れてから氷を入れようとしたりしていて、手順の依存関係を意識しないとめちゃくちゃになる。
Makefileは依存関係と成果物を記述できるので、レシピをMakefileの形で書いたらおもしろいのでは、と思ったけど記述量が多い気がする。
.PHONY: お湯を湧かす 卵を茹でる 8分待つ ボウルに氷を入れる ボウルに水を入れる ボウルに卵を入れる 卵の殻を剥く ジップロックに日付を書く ジップロックにめんつゆを入れる ジップロックに卵を入れる 一晩寝かせる 味玉 お湯を湧かす: @echo お湯を湧かします 卵を茹でる: お湯を湧かす @echo 卵を茹でます 8分待つ: 卵を茹でる @echo 8分待ちます ボウルに氷を入れる: 8分待つ @echo ボウルに氷を入れます ボウルに水を入れる: ボウルに氷を入れる @echo ボウルに水を入れます ボウルに卵を入れる: ボウルに水を入れる @echo ボウルに卵を入れます 卵の殻を剥く: ボウルに卵を入れる @echo 卵の殻を剥きます ジップロックに日付を書く: @echo ジップロックに日付を書きます ジップロックにめんつゆを入れる: ジップロックに日付を書く 卵の殻を剥く @echo ジップロックにめんつゆを入れます ジップロックに卵を入れる: ジップロックにめんつゆを入れる 卵の殻を剥く @echo ジップロックに卵を入れます 一晩寝かせる: ジップロックに卵を入れる @echo 一晩寝かせます 味玉: 一晩寝かせる @echo 味玉ができました
実行結果は以下。まず最初にジップロックに日付を書いたらよいと分かって、それはそうだと思った。
% make 味玉 ジップロックに日付を書きます お湯を湧かします 卵を茹でます 8分待ちます ボウルに氷を入れます ボウルに水を入れます ボウルに卵を入れます 卵の殻を剥きます ジップロックにめんつゆを入れます ジップロックに卵を入れます 一晩寝かせます 味玉ができました