.PHONY PHONY 目标名称 这里的目标名称不是真实的文件名称,作为执行命令显示的名称。 = := ?= += = 是最基本的赋值 := 是覆盖之前的值 ?= 是如果没有被赋值过就赋予等号后面的值 += 是添加等号后面的值