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