此文编写主要参考韦东山老师教程和《跟我一起写makefile》
1.我们想清除文件,我们在Makefile的结尾添加如下代码就可以了:
clean:
rm *.o test
1).执行make:生成第一个可执行文件。
2).执行make clean: 清除所有文件,即执行:rm *.o test。
make后面可以带上目标名,也可以不带,如果不带目标名的话它就想生成第一个规则里面的第一个目标。
2.使用Makefile
执行:make [目标]
也可以不跟目标名,若无目标默认第一个目标。我们直接执行make的时候,会在makefile里面找到第一个目标然后执行下面的指令生成第一个目标。当我们执行make clean的时候,就会在Makefile里面找到clean这个目标,然后执行里面的命令,这个写法有些问题,原因是我们的目录里面没有clean这个文件,这个规则执行的条件成立,他就会执行下面的命令来删除文件。
但是如果该目录下面有名为clean文件怎么办呢?
我们在该目录下创建一个名为“clean”的文件,然后重新执行:make然后make clean,结果(会有下面的提示:):
make: `clean’ is up to date.
它根本没有执行我们的删除操作,这是为什么呢?我们之前说,一个规则能过执行的条件&#