【问题标题】:read input variable in makefile and set variable upon it`s name读取makefile中的输入变量并根据其名称设置变量
【发布时间】:2012-08-23 14:45:37
【问题描述】:

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

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

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

感谢您的回答

【问题讨论】:

    标签: makefile gnu-make


    【解决方案1】:

    每个命令都在其自己的子 shell 中运行,因此变量无法从一个命令传递到下一个命令。将它们放在同一行,它们就会起作用:

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

    【讨论】:

    • 您也可以使用.ONESHELL 有效地将所有命令放在同一行。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-15
    • 1970-01-01
    • 2017-08-05
    • 2019-05-20
    • 1970-01-01
    • 2012-11-18
    相关资源
    最近更新 更多