我正在写一个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)