2012-08-29 67 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