0
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変数を置き換えることでこれを行う方法はありますか?

4

1 に答える 1