【发布时间】:2014-11-11 21:27:08
【问题描述】:
我正在尝试使用 clean 创建 makefile 文件。
我的 clean 看起来像(它应该从位置擦除除 *.c 源文件之外的所有内容)。
clean:
rm !(*.c)
当我尝试在终端中执行make clean 时,我得到了
User 1# make clean
rm !(*.c)
/bin/sh: 1: Syntax error: "(" unexpected
make: *** [clean] Error 2
但是当我在终端中输入rm !(*.c) 时它工作正常。
为什么用makefile写的命令不起作用?
【问题讨论】:
-
明确说明要传递给
rm的文件更安全;您不知道何时可以创建要保留的非.c文件,但忘记更新配方。 -
我完全意识到风险,但现在我只想让 rm !(*.c) 工作。
-
这一行:rm !(*.c) 也会删除你的makefile。可能不是你想要的。