Open3
Makefile についてのメモ
.PHONY
でターゲット名を指定しておくと、実際にファイルやディレクトリがある場合でも大丈夫。
.PHONY: ターゲット名
ターゲット名:
コマンド
例
build ディレクトリが存在していても、make build で docker build を実行できる。
.PHONY: build
build:
@docker build .
変数を使うときの注意点
Makefile 内部で定義している変数を利用するときは ${変数名}
で利用できるが、環境変数や一時的に定義した変数を利用する場合はエスケープが必要。($$変数名
)
# Makefile で定義した変数
VAR="hoge"
foo:
@echo ${VAR}
bar:
@var="fuga" && echo $$var
.env に定義してある変数を使う
.env
HOGE="hogehoge"
Makefile
foo:
@source ./.env \
&& echo $$HOGE # hogehoge
include
でも行けるらしい
この場合、変数は Makefile 変数になるようなので、利用するときは ${変数名}
となる
Makefile
include ./.env
foo:
@echo ${HOGE}