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」への置換パスを作成するには? コードの構造を変更せずにこれは可能ですか?
PSエラーが発生するため、ファイルをチェックせずにrmdirを使用することはできません。
アップデート。私はそうしました:
ifeq ($(SYSTEM),WINDOWS)
RM = @(if exist "$(subst /,\,$1)" rmdir /s /q $(subst/,\,$1)))
else
RM = @rm -rf $1
endif
clean_% :
$(call RM, SOME/PATH/)
それは実際に動作します。マーク・ガレックに感謝します。
clean -target コマンドを変更せずに、 RM変数を置き換えることでこれを行う方法はありますか?