读取makefile中的输入变量,并在其名称上设置变量

读取makefile中的输入变量,并在其名称上设置变量,makefile,gnu-make,Makefile,Gnu Make,我有一个makefile,我想从输入中读取模块名,然后根据它的名称生成目录。这是我的密码: build: @read -p "Enter Module Name:" module; module_dir=./modules/$$module mkdir -p $$module_dir/build; 但是在设置模块\u dir后,它只包含/modules/(没有连接模块名)。 我的代码有什么问题 感谢您的回答每个命令都在自己的子shell中运行,因此变量无

我有一个makefile,我想从输入中读取模块名,然后根据它的名称生成目录。这是我的密码:

build:  
    @read -p "Enter Module Name:" module;  
    module_dir=./modules/$$module  
    mkdir -p $$module_dir/build;  
但是在设置模块\u dir后,它只包含/modules/(没有连接模块名)。
我的代码有什么问题


感谢您的回答

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

build:  
    @read -p "Enter Module Name:" module; \  
    module_dir=./modules/$$module; \
    mkdir -p $$module_dir/build
您还可以使用将所有命令有效地放在同一行上。