字符串中的变量名不计算
Variable name in string doesn't evaluate
我正在编写一个 makefile。在我的用例中,变量名称存储在另一个变量中。我正在尝试从函数中评估它,但评估不正确。
在代码中,我希望 "devinit" 的计算结果为 UART_init。我的代码有什么错误?
VAR=MYDEV
MYDEV_init=UART_init
define create_kernels_c
echo GGGGG $(VAR)
baseinit=$$(echo $(VAR)_init);
$$(eval devinit=$$baseinit);
echo devinit $$devinit;
endef
all:
@$(call create_kernels_c)
使用变量替换两次并且不要忘记 .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)
我正在编写一个 makefile。在我的用例中,变量名称存储在另一个变量中。我正在尝试从函数中评估它,但评估不正确。
在代码中,我希望 "devinit" 的计算结果为 UART_init。我的代码有什么错误?
VAR=MYDEV
MYDEV_init=UART_init
define create_kernels_c
echo GGGGG $(VAR)
baseinit=$$(echo $(VAR)_init);
$$(eval devinit=$$baseinit);
echo devinit $$devinit;
endef
all:
@$(call create_kernels_c)
使用变量替换两次并且不要忘记 .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)