u-Boot 中上层Makefile解析(三)
u-Boot 顶层Makefile解析(三)
u-Boot -Makefile(三) 声明 : 以下解析大部分来自网络大神之手 所以可以放心阅读 参考地址不可考 有事请留言 Good luck ######################################################################### ifeq ($(OBJTREE)/include/config.mk,$(wildcard $(OBJTREE)/include/config.mk)) # $(OBJTREE)/include/config.mk # $(wildcard $(OBJTREE)/include/config.mk) # $(wildcard pattern) 参数pattern是一个文件名格式(可使用通配符) # 这个函数的结果是一列和格式匹配且真实存在的文件的名称 文件名之间用空格符隔开 # 那 这句的意思是啥 # load ARCH, BOARD, and CPU configuration #加载这些配置 include $(OBJTREE)/include/config.mk #把/include/config.mk包含进工程中 export ARCH CPU BOARD VENDOR SOC #导出ARCH CPU BOARD VENDOR SOC ifndef CROSS_COMPILE #如果没有定义交叉编译工具 ifeq ($(HOSTARCH),ppc) #如果他俩一样 CROSS_COMPILE = #交叉编译工具为空 else #else ifeq ($(ARCH),ppc) # CROSS_COMPILE = powerpc-linux- # endif # ifeq ($(ARCH),arm) # CROSS_COMPILE = arm-linux- #我们要用的交叉编译工具arm-linux-是前缀 endif # ifeq ($(ARCH),i386) # ifeq ($(HOSTARCH),i386) #为啥这两个要这样 CROSS_COMPILE = # else # CROSS_COMPILE = i386-linux- # endif # endif # ifeq ($(ARCH),mips) # CROSS_COMPILE = mips_4KC- # endif # ifeq ($(ARCH),nios) # CROSS_COMPILE = nios-elf- # endif # ifeq ($(ARCH),nios2) # CROSS_COMPILE = nios2-elf- # endif # ifeq ($(ARCH),m68k) # CROSS_COMPILE = m68k-elf- # endif # ifeq ($(ARCH),microblaze) # CROSS_COMPILE = mb- # endif # ifeq ($(ARCH),blackfin) # CROSS_COMPILE = bfin-elf- # endif # ifeq ($(ARCH),avr32) # CROSS_COMPILE = avr32- #avr32都来了? endif # endif # endif # export CROSS_COMPILE #export CROSS_COMPILE # load other configuration #加载其他配置 include $(TOPDIR)/config.mk #位于$(TOPDIR)/config.mk