Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
Makefileに次のような行があります。
prog /something/f.{one,two,three}
しかし、私がprogから取得したmakeファイルを実行すると
/something/f.{one,two,three}存在しない。これは、makeがグロブを拡大していないと私に信じさせます。通常、これはBashで機能しますが、現在zshellを実行しているので、それが問題だと思います。そのパターンを移植可能に指定する方法を知っている人はいますか?
/something/f.{one,two,three}
シェル展開する必要がありますか?Make は同様のことを行うことができます。これは、それを行う 1 つの方法にすぎません。
EXPANDED_POSTFIX := one two three BASE_FILE := f. PROG_FILE_LIST := $(foreach post,${EXPANDED_POSTFIX},${BASE_FILE}${post}) exec_prog: prog ${PROG_FILE_LIST}
ThePoseyが提案したものに代わるものは、次のものを利用することですaddprefix。
addprefix
FILE_SUFFIXES := one two three FILE_BASE := /something/f FILES := $(addprefix $(FILE_BASE).,$(FILE_SUFFIXES)) my_rule: prog $(FILES)