makefile의 변수에 일부 텍스트를 추가하는 방법은 무엇입니까?

makefile의 변수에 일부 텍스트를 추가하는 방법은 무엇입니까?

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도 옳습니다. 이 경우 그의 솔루션도 작동하지만 파일 이름 목록에서도 작동하는 내장 확장 기능을 살펴보는 것이 좋을 것이라고 확신합니다!

관련 정보