这个奇怪的 Makefile 目标“.PHONY”是什么意思?

这个奇怪的 Makefile 目标“.PHONY”是什么意思?

在这个https://github.com/kubernetes/helm/blob/master/Makefile 有一些目标前面有一个点。这个约定是为了什么?

.PHONY: all
all: build

.PHONY: build
build:
    GOBIN=$(BINDIR) $(GO) install $(GOFLAGS) -tags '$(TAGS)' -ldflags '$(LDFLAGS)' k8s.io/helm/cmd/...

答案1

特殊规则.PHONY用于指定目标不是文件。常见用途是cleanall。这样,如果您有名为clean或 的文件,就不会发生冲突all

这里有一个链接到有关此主题的部分在 GNU make 手册中

相关内容