Makefile 字符串中的变量名不为';t评估
我正在写一个makefile。在我的用例中,变量名存储在另一个变量中。我试图从功能上评估它,但评估不正确 在代码中,我希望“Devicenit”计算为UART_init。我的代码中有什么错误Makefile 字符串中的变量名不为';t评估,makefile,gnu-make,Makefile,Gnu Make,我正在写一个makefile。在我的用例中,变量名存储在另一个变量中。我试图从功能上评估它,但评估不正确 在代码中,我希望“Devicenit”计算为UART_init。我的代码中有什么错误 VAR=MYDEV MYDEV_init=UART_init define create_kernels_c echo GGGGG $(VAR) baseinit=$$(echo $(VAR)_init); $$(eval devinit=\$$baseinit); ec
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:
(或在任何地方追加;\
):
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)