Shell
如何將一些文本附加到makefile中的變數?
我有一個 Makefile。在makefile的某處定義了一個變數:
FOO=hello
稍後我需要在
FOO
的內容中附加一些文本。我試過這樣:FOO=$(FOO)_world
我建議
echo $(FOO)
將輸出hello_world
. 相反,我得到一個錯誤:*** Recursive variable 'FOO' references itself (eventually). Stop.
使用
+=
運算符不是選項,因為這會在兩者之間添加一個空格。
你需要
:=
代替遞歸=
:FOO := hello FOO := $(FOO)_world $(info FOO=$(FOO))
你好世界
我會說 makefile
addsuffix
函式是您正在尋找的,因此在您的情況下,例如:FOO := hello FOO := $(addsuffix _world,$(FOO))
然而@user218374 也是對的,他的解決方案也適用,在這種情況下,但我很確定你可能會很高興看到這些與文件名列表相關的內置擴展函式!