假设我有一个如下所示的生成文件:
all: a_functions.o b_functions.o c_functions.o d_functions.o main.o
gcc -o all a_functions.o b_functions.o c_functions.o d_functions.o main.o
a_functions.o: a_functions.c
gcc -c -o a_functions.o a_functions.c
b_functions.o: b_functions.c
gcc -c -o b_functions.o b_functions.c
c_functions.o: c_functions.c
gcc -c -o c_functions.o c_functions.c
main.o: main.c
gcc -c -o main.o main.c
我可以使用命令编译它
sudo make -f makefile
如果我运行,程序运行良好
./all
但是如果我想在makefile中添加一个干净的命令怎么办?我添加了
clean:
rm *.o all
在makefile的末尾,但我的终端显示
-bash: ./clean: No such file or directory
当我这样做时 ./clean
当然重新编译makefile也不起作用。表明
make: 'all' is up to date.
当我做sudo make -f makefile
我在这里找到了如何编辑makefile?你可以使用
$ CFLAGS="-std=c99" make
终端中的此命令,或者我可以添加
CFLAGS=-std=c99
在我的makefile中,但它们仍然显示
一切都是最新的
该图像只是证明修改对我不起作用的证据。