Makefileがあります。 makefile どこかに変数が定義されています。
FOO=hello
FOO
後でコンテンツにいくつかのテキストを追加する必要があります。私はこれを試しました:
FOO=$(FOO)_world
私が提案したのはecho $(FOO)
出力になりますhello_world
。代わりにエラーが発生します。
*** Recursive variable 'FOO' references itself (eventually). Stop.
演算子を使用すると、+=
途中にスペースが追加されるため、機能しません。
答え1
:=
再帰の代わりに必要です=
。
FOO := hello
FOO := $(FOO)_world
$(info FOO=$(FOO))
こんにちは世界
答え2
私はmakefileを話しますaddsuffix
関数はあなたが探しているものです。たとえば、次のようになります。
FOO := hello
FOO := $(addsuffix _world,$(FOO))
しかし、@user218374も正しいです。この場合、彼の解決策も機能しますが、ファイル名のリストでも機能する組み込み拡張機能を見てみると良いでしょう。