Shell

如何將一些文本附加到makefile中的變數?

  • June 29, 2020

我有一個 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))

你好世界

我會說 makefileaddsuffix函式是您正在尋找的,因此在您的情況下,例如:

FOO := hello
FOO := $(addsuffix _world,$(FOO))

然而@user218374 也是對的,他的解決方案也適用,在這種情況下,但我很確定你可能會很高興看到這些與文件名列表相關的內置擴展函式!

引用自:https://unix.stackexchange.com/questions/381616