make
の文字列(私の場合はパス名)からプレフィックスを削除する方法はありますか?
例として、私は文字列を持っていたと仮定します:
_FILES = a/b/c.d a/b/e.f
_
_a/
_を削除し、_b/c.d b/e.f
_のままにしておきたい
GNU make manual のdir
、notdir
およびbasename
のさまざまな組み合わせを使用してみましたが、どれもNiceソリューションを提供していないようです。
_$(dir $(FILE)) # a/b a/b
$(notdir $(FILE)) # c.d e.f
$(basename $(FILE)) # a/b/c a/b/e
_
これまでのところ、これを行うことがわかった唯一の方法は次のとおりです。
_$( join $(basename $(dir $(FILE))), $(notdir $(FILE)) )
_
これは本当にくて時間がかかります。本当に必要なのは、ある種の$(removeprefix ...)
関数です。削除するプレフィックス(_a/
_)がわかっていると仮定すると、これは何らかの文字列操作で行うことができますか?
あなたはGNU makeと言うので、なぜだけではありませんか:
$(FILE:a/%=%)
?