2012-08-29 23 views
12

Tôi có một makefile nơi tôi muốn đọc tên mô-đun từ đầu vào và sau đó tạo thư mục dựa trên tên của nó. đây là mã của tôi:đọc biến đầu vào trong makefile và đặt biến trên tên của nó

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

Nhưng sau khi cài đặt module_dir, nó chỉ chứa ./modules/ (không có tên mô-đun nối).
Có gì sai trong mã của tôi?

cảm ơn vì câu trả lời của bạn

Trả lời

36

Mỗi lệnh chạy trong subshell riêng của mình, vì vậy các biến không thể tồn tại từ một lệnh tiếp theo. Đặt chúng trên cùng một dòng và chúng sẽ hoạt động:

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

+1 để cung cấp nền – migu

Các vấn đề liên quan