shell cc-option检测分析

 

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必须至少支持其中一个 否则编译出错

你可能感兴趣的:(option)