Как исправить синтаксическую ошибку Makefile при использовании подстановочного знака в make clean?

У меня есть простой Makefile, который содержит только одну цель. Это выглядит так:

SHELL:=/bin/bash

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

Когда я запускаю эту команду в bash, она работает нормально, т.е. не выдает ошибок и удаляет нужные файлы. Однако когда я запускаю make clean , появляются следующие ошибки:

$ 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

Кто-нибудь знает, что я делаю не так? Спасибо.

7
задан kenorb 10 May 2015 в 17:42
поделиться