0
考慮一個很長的makefile
帶有衆多目標,所有目標都是PHONY
(意思是目標名稱不代表現有文件)。Makefile:聲明所有目標PHONY
我可以做兩種:
.PHONY: a
a:
do someting a
.PHONY: b
b:
do someting b
.PHONY: c
c:
do someting c
或者:
.PHONY: a b c
a:
do someting a
b:
do someting b
c:
do someting c
第一個選項是繁瑣的,而第二個選項是容易出錯,在未來我增加了一個目標,而忘記申報它作爲PHONY
。
有沒有一種標準方法可以將makefile
中的所有目標聲明爲PHONY
?
如果* all *目標是* PHONY *,'make'不是正確的工具,因爲它對於純腳本沒有任何優勢。PHONY:$(MAKECMDGOALS)'完全可以在命令行僞裝下給出的目標,如果你的任何目標都不依賴於其他目標,它將會對你有用。 –
我同意費利克斯。我認爲第二個版本比第一個更標準。我不認爲這是一個容易出錯的問題,你應該以某種方式控制你的Makefile中的內容,而不管它的大小。 – Tim
我將非常樂意將這些意見作爲答案 –