make 조건문

MySprtlty·2022년 7월 11일
0

make utility

목록 보기
8/12
post-thumbnail

🏷️조건문

  • make에도 조건문이 존재한다.
  • else if(혹은 elif)는 없다.

📌Equal

  • ifeqifneq는 커널 Makefile에서 많이 사용되므로 꼭 알아두자.

ifeq ~ else ~ endif

  • ifeq ~ else ~ endif문의 기본적인 구조는 위와 같다.
all :
ifeq (값1,값2)
	수행문
else
	수행문
endif
  • ifeq( )사이는 공백문자가 있어야 한다.

  • else는 생략이 가능하여 다음과 같이 사용할 수 있다.
all :
ifeq (값1,값2)
	수행문
endif

  • 🔍ex)
all :
ifeq ($(CC),gcc)
	@echo "C Compiler는 gcc"
else
	@echo "C Compiler는 cc"
endif
  • 내부 매크로 CC는 cc로 정의되어 있기에 C Compiler는 cc가 출력된다.
  • NUL문자와 비교할 때는 ifeq (값,)같이 사용하면 된다.

ifneq ~ else ~ endif

  • if not equal의 구조인데, 크게 다른 것은 없다.
all :
ifneq (값1,값2)
	수행문
else
	수행문
endif

📌Define

ifdef ~ else ~ endif

  • ifdef ~ else ~ endif의 기본 구조는 다음과 같다.
all :
ifdef 매크로
	수행문
else
	수행문
endif

  • 🔍ex)
all :
ifdef AS
        @echo "As is defined."
else
        @echo "As isn't defined."
endif
  • 매크로 AS는 내부 매크로이므로, 당연히 정의되어 있다.

ifndef ~ else ~ endif

  • if not define의 구조다.
all :
ifndef 매크로
	수행문
else
	수행문
endif

0개의 댓글