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)))

これはうまくいきます。

ベストアンサー1

おすすめ記事