一:背景
二:示例代码
观察下述现象:
在第二次使用 make 的时候,提示我们 mybin 已经是最新的,由此可以推断和时间有关系。
在文件形成时,一定是先有的 test.c 文件,然后才有的 mybin 文件,所以(即第1次make):
源文件(test.c)的修改时间 < mybin 文件的修改时间
补充:
在 Linux 系统中,stat 命令用于显示指定文件或文件系统的文件状态信息,包括文件的类型、权限、大小、所属用户和组、访问时间、修改时间、创建时间等详细信息。它可以用于检查文件的状态以及了解文件的属性。
格式为:stat + 文件名
stat makefile
stat test.c
通过 stat 命令查看文件的状态信息(第2次make):
但此时,我们发现第2次 make 时,源文件(test.c)的修改时间 > mybin 文件的修改时间
此时,需要我们重新编译形成可执行程序,才重新使用 make。
如下图所示:
make/makefile 总是不让我们重新编译我们的代码???提高编译效率
怎末做到的(如何知道代码的新/旧)???
解决完 make 不能多次使用的原因,那么为什莫 make clean 就可以多次使用呢???
原因是:我们将它设置了伪目标,用 .PHONY 修饰。
修饰伪目标的特性是,总是被执行的,不会被任何情况拦截。
那么,我们是否可以对 mybin 进行该方法???