Makefile 레시피 유형 결정

Makefile 레시피 유형 결정

사용자가 셸에 입력한 레시피 유형을 확인하고 싶습니다. 그러나 아래 코드는 항상 false를 반환합니다.

all clean:    
ifeq ("$@", "clean")
        echo "This is an clean recipe"
else
    echo "This is not a clean recipe."
endif

답변1

당신은 그것을 사용할 수 있습니다목표를 설정하다대상 가져오기:

all clean:
ifeq ($(MAKECMDGOALS), clean)
  @echo "This is an clean recipe"
else
  @echo "This is not a clean recipe."
endif
$ make
This is not a clean recipe.
$ make clean
This is an clean recipe

관련 정보