注意:make工具读取makefile并检查规则中':'符号两侧的文件的修改时间戳。例在目录“测试”中,存在以下文件:prerit@vvdn105:~/test$ lshello hello.c makefile在makefile中,规则定义如下:hello:hello.c cc hello.c -o hello现在假设文件“ hello”是一个包含一些数据的文本文件,该文件是在“ hello.c”文件之后创建的。因此,“ hello”的修改(或创建)时间戳将比“ hello.c”的时间戳更新。因此,当我们从命令行调用“ make hello”时,它将显示为:make: `hello' is up to date.现在访问“ hello.c”文件,并在其中添加一些空格,这不会影响代码语法或逻辑,然后保存并退出。现在,hello.c的修改时间戳比“ hello”的修改时间戳新。现在,如果您调用“ make hello”,它将执行以下命令:cc hello.c -o hello文件“ hello”(文本文件)将被新的二进制文件“ hello”(上述编译命令的结果)覆盖。如果我们在makefile中使用.PHONY,如下所示:.PHONY:hellohello:hello.c cc hello.c -o hello然后调用“ make hello”,它将忽略pwd“ test”中存在的任何文件,并每次执行命令。现在假设,“ hello”目标没有声明依赖项:hello: cc hello.c -o hello并且pwd“测试”中已经存在“ hello”文件,那么“ make hello”将始终显示为:make: `hello' is up to date.