私は Makefile を書いていますが、ワイルドカードを含む一般的なルールを使用したいと考えています。
%: bkp/%
cp $< $@
しかし、このルールをいくつかの特定のファイルに対してのみ有効にしたかったのです。たとえば、リストで変数を定義したかった
file_list = foo.c bar.c zzz.c
この変数にリストされているファイルに対してのみ有効になるようにルールを構成します。それ、どうやったら出来るの?
静的パターン ルールが必要です。
file_list = foo.c bar.c zzz.c
$(file_list): %: bkp/%
cp $< $@
構文は、使用していた暗黙のパターン ルールに非常に似ています。はい、一般的にはより安全です (より予測可能です)。
もちろん、5分後に自分で答えを見つけました... :)
必要なのは、静的パターン ルールです。
http://www.gnu.org/software/make/manual/make.html#Static-Pattern
したがって、例は次のように解決されます
$(file_list) : % : bkp/%
cp $< $@