Android.mk 파일에서 보통 ifeq / ifneq / elif / else / endif 등을 이용해서 CFLAG에 대해 조건부 설정을 한다.
그런데 오늘 기존에 ifeq / endif를 이용해서 설정되어 있던 문장에 추가 조건을 or 해야하는 상황이 있었다.
나름 잘 알고 있다고 생각 했는데, or 를 어떻게 붙여야되나 막막했다. ㅠㅠ
그래서 찾아보니 직접적인 keyword는 없고 GNU make system의 filter function을 사용하면 되더라.
ifeq ($(SYMBOL), XXX)
XXX, YYY에 대한 공통 작업
endif
ifeq ($(SYMBOL), YYY)
XXX, YYY에 대한 공통작업
endif
위와같이 SYMBOL이 XXX나 YYY로 설정되어 있는 경우 공통 작업을 하도록 설정하고 싶다면 아래와 같이 수정할 수 있다.
ifneq ($(filter XXX YYY, $(SYMBOL)), )
XXX, YYY에 대한 공통작업
endif
위와 같이 filter function을 사용하면 간단하게 Android.mk 파일에서 or를 구현할 수 있다.
'리눅스 & 안드로이드' 카테고리의 다른 글
smp_rmb() 가 뭐하는 놈이냐? (0) | 2014.01.22 |
---|---|
DOS(cmd.exe)에서 adb를 이용해 주기적으로 특정 명령어 수행 (0) | 2014.01.06 |
long __builtin_expect (long exp, long c) (0) | 2013.06.22 |
[퍼옴] ADB 명령어 모음 (0) | 2013.02.27 |
GRUB 제거하는 방법 (Windows 7) (0) | 2013.02.25 |