读取makefile中的输入变量并根据其名称设置变量

问题描述 投票:0回答:1

我有一个 makefile,我想从输入中读取模块名称,然后根据其名称创建目录。这是我的代码:

build:  
    @read -p "Enter Module Name:" module;  
    module_dir=./modules/$$module  
    mkdir -p $$module_dir/build;  

但是设置

module_dir
后,它只包含
./modules/
(没有连接模块名称)。

我的代码有什么问题?

makefile gnu-make
1个回答
106
投票

每个命令都在自己的子 shell 中运行,因此变量无法从一个命令延续到下一个命令。将它们放在同一条线上,它们就会工作:

build:  
    @read -p "Enter Module Name:" module; \  
    module_dir=./modules/$$module; \
    mkdir -p $$module_dir/build
© www.soinside.com 2019 - 2024. All rights reserved.