字符串中的变量名不计算

时间:2019-04-29 04:58:07

标签: makefile gnu-make

我正在编写一个makefile。在我的用例中,变量的名称存储在另一个变量中。我正在尝试从功能评估它,但评估不正确。

在代码中,我希望“ devinit”评估为UART_init。我的代码有什么错误?

(map(.type) | index("bird")) as $i
| if $i then triple($i) else empty end

1 个答案:

答案 0 :(得分:1)

使用两次变量替换,不要忘记.ONESHELL:(或到处都附加;\<CR>

VAR=MYDEV
MYDEV_init=UART_init


define create_kernels_c
    echo GGGGG $(VAR)
    devinit=$($(VAR)_init)
    echo devinit $$devinit
endef


.ONESHELL:
all:
    @$(call create_kernels_c)