ifeq ($(SYSTEM),WINDOWS)
# need to change something here :
RM = @(if exist "$(subst /,\,$(DIRECTORY))" rmdir /s /q $(subst/,\,$(DIRECTORY))))
else
RM := @rm -rf
endif
clean_1 :
$(RM) SOME/PATH/
clean_2 :
$(RM) SOME/PATH/
如何將替換路徑「SOME/PATH /」設置爲「DIRECTORY」? 這是可能的,而不改變代碼的結構?Makefile中的替換
P.S.我不能使用rmdir而不檢查文件,因爲它會產生錯誤。
UPDATE。我這樣做:
ifeq ($(SYSTEM),WINDOWS)
RM = @(if exist "$(subst /,\,$1)" rmdir /s /q $(subst/,\,$1)))
else
RM = @rm -rf $1
endif
clean_% :
$(call RM, SOME/PATH/)
它確實有效。感謝Mark Galeck。
有沒有辦法通過更換RM變量要做到這一點,在不改變乾淨 -target命令?
是否有某些原因需要您這樣做? – Beta
沒有特別的理由。但我想知道,這可能嗎? – user2900579
是的,我添加到我的答案。是的,你想列出與每個乾淨目標的目錄 - 這是愚蠢的我沒有意識到這一點。 –