1default_host_CC = $(host_toolchain)gcc 2default_host_CXX = $(host_toolchain)g++ 3default_host_AR = $(host_toolchain)ar 4default_host_RANLIB = $(host_toolchain)ranlib 5default_host_STRIP = $(host_toolchain)strip 6default_host_LIBTOOL = $(host_toolchain)libtool 7default_host_INSTALL_NAME_TOOL = $(host_toolchain)install_name_tool 8default_host_OTOOL = $(host_toolchain)otool 9default_host_NM = $(host_toolchain)nm 10 11define add_host_tool_func 12$(host_os)_$1?=$$(default_host_$1) 13$(host_arch)_$(host_os)_$1?=$$($(host_os)_$1) 14$(host_arch)_$(host_os)_$(release_type)_$1?=$$($(host_os)_$1) 15host_$1=$$($(host_arch)_$(host_os)_$1) 16endef 17 18define add_host_flags_func 19$(host_arch)_$(host_os)_$1 += $($(host_os)_$1) 20$(host_arch)_$(host_os)_$(release_type)_$1 += $($(host_os)_$(release_type)_$1) 21host_$1 = $$($(host_arch)_$(host_os)_$1) 22host_$(release_type)_$1 = $$($(host_arch)_$(host_os)_$(release_type)_$1) 23endef 24 25$(foreach tool,CC CXX AR RANLIB STRIP NM LIBTOOL OTOOL INSTALL_NAME_TOOL,$(eval $(call add_host_tool_func,$(tool)))) 26$(foreach flags,CFLAGS CXXFLAGS CPPFLAGS LDFLAGS, $(eval $(call add_host_flags_func,$(flags)))) 27