2012-08-29 49 views
12

我有一个makefile,我想从输入中读取模块名称,然后根据它的名称创建目录。这里是我的代码:在makefile中读取输入变量并在其上设置变量名称

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

但设置module_dir后,它仅包含./modules/(有没有级联模块名称)。
我的代码有什么问题?

谢谢您的回答

回答

36

在自己的子shell每个命令运行,所以变量不能存活从一个命令下。将它们放在同一行上,它们将工作:

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

+1用于提供背景 – migu