# Kconfig helper macros # Convenient variables comma := , quote := " squote := ' empty := space := $(empty) $(empty) dollar := $ right_paren := ) left_paren := ( # $(if-success,,,) # Return if exits with 0, otherwise. if-success = $(shell,{ $(1); } >/dev/null 2>&1 && echo "$(2)" || echo "$(3)") # $(success,) # Return y if exits with 0, n otherwise success = $(if-success,$(1),y,n) # $(cc-option,) # Return y if the compiler supports , n otherwise cc-option = $(success,$(CC) -Werror $(1) -E -x c /dev/null -o /dev/null) # $(ld-option,) # Return y if the linker supports , n otherwise ld-option = $(success,$(LD) -v $(1)) # $(as-option,) # /dev/zero is used as output instead of /dev/null as some assembler cribs when # both input and output are same. Also both of them have same write behaviour so # can be easily substituted. as-option = $(success, $(CC) $(CLANG_FLAGS) $(1) -c -x assembler /dev/null -o /dev/zero) # gcc version including patch level gcc-version := $(shell,$(srctree)/scripts/gcc-version.sh -p $(CC) | sed 's/^0*//')