이 이상한 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대상이 파일이 아님을 지정하는 데 특수 규칙이 사용됩니다. 일반적인 용도는 clean및 입니다 all. 그렇게 하면 clean이름이 지정된 파일이 있거나 충돌이 발생하지 않습니다 all.

여기 하나 있어요이 주제에 대한 섹션 링크GNU make 매뉴얼에서

관련 정보