1# Kconfig helper macros 2 3# Convenient variables 4comma := , 5quote := " 6squote := ' 7empty := 8space := $(empty) $(empty) 9dollar := $ 10right_paren := ) 11left_paren := ( 12 13# $(if-success,<command>,<then>,<else>) 14# Return <then> if <command> exits with 0, <else> otherwise. 15if-success = $(shell,{ $(1); } >/dev/null 2>&1 && echo "$(2)" || echo "$(3)") 16 17# $(success,<command>) 18# Return y if <command> exits with 0, n otherwise 19success = $(if-success,$(1),y,n) 20 21# $(failure,<command>) 22# Return n if <command> exits with 0, y otherwise 23failure = $(if-success,$(1),n,y) 24 25# $(cc-option,<flag>) 26# Return y if the compiler supports <flag>, n otherwise 27cc-option = $(success,$(CC) -Werror $(1) -E -x c /dev/null -o /dev/null) 28 29# $(ld-option,<flag>) 30# Return y if the linker supports <flag>, n otherwise 31ld-option = $(success,$(LD) -v $(1)) 32 33# check if $(CC) and $(LD) exist 34$(error-if,$(failure,command -v $(CC)),compiler '$(CC)' not found) 35$(error-if,$(failure,command -v $(LD)),linker '$(LD)' not found) 36 37# gcc version including patch level 38gcc-version := $(shell,$(srctree)/scripts/gcc-version.sh $(CC)) 39