0

Makefile では、パターン$(VAR:.x=.y)を使用して置換を実行できることがわかりましたが、同じ呼び出しで 2 つの置換を実行できますか?

具体的には、コンパイラ フラグを含むかなり長い Makefile を変更したいと考えています-Wa,-adhlns=$(<:.c=.lst)。.c と .cpp の両方のファイルが 1 つのコンパイラ フラグのセットでハンマーの下にあるので、これらの両方の拡張子に前述の置換を適用したいと思います。(そのままでは、私の .cpp ファイルは上書きされています。)

試してみまし-Wa,-adhlns=$($(<:.c=.lst):.cpp=.lst)たが、うまくいきません。私の目的は本当に可能ですか?

4

1 に答える 1

0

そのようにすることはできませんが、これはできます:

$(addsuffix .lst,$(basename $(VAR))
于 2013-04-20T04:51:53.633 に答える