2012-08-29 12 views
12

Tengo un archivo MAKE donde quiero leer el nombre del módulo de entrada y luego hacer un directorio basado en su nombre. aquí está mi código:leer la variable de entrada en makefile y establecer la variable sobre su nombre

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

Pero después de establecer module_dir, contiene exclusivamente ./modules/ (sin nombre del módulo concatenado).
¿Qué hay de malo en mi código?

gracias por sus respuestas

Respuesta

36

cada comando se ejecuta en su propio subnivel, por lo que las variables no pueden sobrevivir de un comando a la siguiente. Colóquelos en la misma línea y funcionarán:

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

+1 para proporcionar antecedentes – migu

Cuestiones relacionadas