makefile 변수의 값은 다른 변수의 이름입니다.

makefile 변수의 값은 다른 변수의 이름입니다.

메이크파일에서 변수의 값은 다른 변수의 이름입니다. 타겟 안에 어떻게 넣나요?

예를 들어:

my_variable := Hello

target:
    @var_name="my_variable" ; \
    result=$($(var_name)) ; \
    echo $$result

해야 result한다 Hello.

또는 또 다른 예:

VALUES123 := 1 2 3
CLIENTS_1_IP := 10.100
CLIENTS_2_IP := 10.100
CLIENTS_3_IP := 10.100

cll: 
    @for value in ${VALUES123}; do \
        var_name="CLIENTS_$${value}_IP"; \
        echo $$var_name; \
        $(eval CLIENT := $(value $$(var_name))) \
        echo $$CLIENT; \
    done

대체할 게 필요해

$(eval CLIENT := $(value $$(var_name)))

이것은 작동합니다.

관련 정보