是什么意思.(点)在makefile中的目标之前

Nav*_*mar 7 makefile

在一个make文件中,我发现代码剪断如下.create_file和run_debug之间有什么区别吗?我的意思是使用.(dot)在create_file之前引入像PHONY这样的功能?

all:debug run_debug
setup: .create_file

.create_file:
      cd /home/user1
      touch file.txt

 run_debug:
      @echo Building debug
      cd /home/user1/debug
Run Code Online (Sandbox Code Playgroud)

Eta*_*ner 8

据我所知,它只有一个目的(在这个makefile中,makefile结构可以避免这个目的).

如何make处理Makefile:

默认情况下,make从第一个目标开始(而不是名称以其开头的目标‘.’).这称为默认目标.

因此.,make 的主要方式不会将该目标视为有效的默认目标.

但是,如上所述,all目标是此makefile中的第一个目标,因此这将是默认目标,因此此处的前导点实际上并不执行任何操作.

这就是说所有三个setup,run_debug.create_file目标应该注明.PHONY,并可能被写入/等的更好的方法.