cc-option = $(shell if $(CC) $(CFLAGS) $(1) -S -o /dev/null -xc /dev/null 2>&1;\ then\ echo "$1";\ else\ echo "$2";\ fi;)
参数说明: -S 编译到汇编*.s文件即停止(只是检测编译参数 到这里说明C编译参数无错误)
-o 输出到 dev/null (相当于什么都没有做)
-xc 按照C语言编译(既然是移植uboot 那也应该不是用的别的语言)
# 1 标准信息输出 2错误信息输出 2>&1是将错误输出定向到标准输出 也就是同一输出路径
&可以理解为C中的引用取地址 这里取出了1也就是标准输出的路径(地址 )
#use like this CFLAG += $(call cc-option , op1 , op2); CC支持op1 返回op1 否则返回op2 CC必须至少支持其中一个 否则编译出错