2011-08-03 14 views
7

Tengo un archivo Makefile simple que solo contiene este objetivo. Se ve así:Cómo reparar el error de sintaxis Makefile cuando se usa comodín en make clean?

SHELL:=/bin/bash 

clean: 
    rm !(*.tex|Makefile|*.pdf) 

Cuando ejecuto este comando en bash que trabaja muy bien, es decir, se da ningún error y que elimina los archivos deseados. Sin embargo cuando corro make clean da los siguientes errores:

$ make clean 
rm !(*.tex|Makefile|*.pdf) 
/bin/bash: -c: line 0: syntax error near unexpected token `(' 
/bin/bash: -c: line 0: `rm !(*.tex|Makefile|*.pdf)' 
make: *** [clean] Error 1 

nadie tiene una idea de lo que estoy haciendo mal? Gracias.

+0

Buena sintaxis para limpiar todo menos el propio Makefile, la fuente de látex y los pdf resultantes. – dala

Respuesta

12

Cambie la línea SHELL a

SHELL:=/bin/bash -O extglob 

La opción extglob no está establecido por defecto, por lo que tiene que hacer usted mismo.

+1

¡Muchas gracias, funcionó a la perfección! – nvcleemp

Cuestiones relacionadas