Built-in Functions
make 에서 제공하는 스크립트 기능은 프로그래밍 언어가 아니고
프로젝트를 빌드 하는데 주로 사용되는 파일명, 경로명 처리, 리스트 프로세싱 builtin 함수들을
활용하는 정도입니다.
산술연산을 할 수 있는 연산자라든지 데이터 타입 같은 것은 없고 단순 텍스트 프로세싱입니다.
따라서 if
문에서 참, 거짓을 판단할 때도 단순히 값이 empty 인지 아닌지로만 구분합니다.
builtin 함수 외에 필요한 기능이 있으면 shell
함수나 !=
연산자를 이용해 외부 명령을 실행하면 됩니다.
참, 거짓
변수값이 empty 가 되어 if 문에서 거짓이 되는 경우는 다음과 같은 경우입니다.
AA :=
$(info $(if $(AA) ,yes,no))
결과 : no
그 외에 공백문자를 직접 값으로 정의하여 사용하거나 ""
스트링은 모두 non-empty 가되어 참이 됩니다.
AA := $(empty) $(empty)
AA != echo " "
AA := ""
AA := "
$(info $(if $(AA),yes,no))
결과 : yes
-------------------------------------
foo = $2
$(info $(if $(call foo,1, ,3),yes,no))
결과 : yes
$(info $(if $(call foo,1,,3),yes,no))
결과 : no