Makefile删除所有文件,但只删除一个

时间:2016-01-30 12:04:00

标签: bash makefile

我正在编写Makefile以简化乳胶文件编译。我正在尝试创建一个clean目标来删除pdflatex生成的所有文件,我写了这个:

SHELL := /bin/bash
name = mydocument

all: show

$(name).pdf: $(name).tex
    # We need to run it twice to update the TOC
    pdflatex $<
    pdflatex $<

show: $(name).pdf
    gnome-open $<

clean:
    ls -l $(name)!(.tex)

.PHONY: all clean show

问题是命令ls -l $(name)!(.tex)。如果我从终端运行它,我会得到要删除的文件列表(即所有文件名为&#34; mydocument&#34;其扩展名与&#34; .tex&#34;不同),但如果我运行它使用make clean我收到以下错误:

ls -l mydocument!(.tex)
/bin/bash: -c: line 0: syntax error near unexpected token "("
/bin/bash: -c: line 0: `ls -l mydocument!(.tex)'
make: *** [clean] Error 1

有谁知道如何解决这个问题?

0 个答案:

没有答案