地方エンジニアの学習日記

興味ある技術の雑なメモだったりを書いてくブログ。たまに日記とガジェット紹介。

【Makefile】変数加工のtips

$(name:op%os=np%ns)

$(name)の各語に対し、先頭のopと末尾のosを削除して、先頭にnp, 末尾にnsを付加する。

用途としてはこんな感じ。特定ディレクトリ配下のファイルを取得して指定したパスに加えて拡張子をつけるみたいなケース

vars := $(filter-out Makefile, $(shell ls -1))

all:
   @echo $(vars:%=/tmp/%.txt)

上記に適当なファイルを作成しておくことで実行すると以下のようになる。ローカル -> Linuxの実行パスにファイル名を変えつつ動的に配置するファイルを決定させたいケースみたいなので便利。

make
/tmp/dep.yml.txt /tmp/pv.yml.txt /tmp/pvc.yml.txt