电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本
换一换
首页 金锄头文库 > 资源分类 > DOC文档下载
分享到微信 分享到微博 分享到QQ空间

u-boot-Makefile注解

  • 资源ID:88627386       资源大小:86.50KB        全文页数:9页
  • 资源格式: DOC        下载积分:15金贝
快捷下载 游客一键下载
账号登录下载
微信登录下载
三方登录下载: 微信开放平台登录   支付宝登录   QQ登录  
二维码
微信扫一扫登录
下载资源需要15金贝
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
支付方式: 支付宝    微信支付   
验证码:   换一换

 
账号:
密码:
验证码:   换一换
  忘记密码?
    
1、金锄头文库是“C2C”交易模式,即卖家上传的文档直接由买家下载,本站只是中间服务平台,本站所有文档下载所得的收益全部归上传人(卖家)所有,作为网络服务商,若您的权利被侵害请及时联系右侧客服;
2、如你看到网页展示的文档有jinchutou.com水印,是因预览和防盗链等技术需要对部份页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有jinchutou.com水印标识,下载后原文更清晰;
3、所有的PPT和DOC文档都被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;下载前须认真查看,确认无误后再购买;
4、文档大部份都是可以预览的,金锄头文库作为内容存储提供商,无法对各卖家所售文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;
5、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据;
6、如果您还有什么不清楚的或需要我们协助,可以点击右侧栏的客服。
下载须知 | 常见问题汇总

u-boot-Makefile注解

VERSION = 1PATCHLEVEL = 1SUBLEVEL = 6EXTRAVERSION =U_BOOT_VERSION = $(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION)以上定义了版本的变量,将其组成一个版本号,放入U_BOOT_VERSION变量里HOSTARCH := $(shell uname -m | #执行$(shell后面的shell命令uname -m | sed -e s/i.86/i386/ -e s/sun4u/sparc64/ -e s/arm.*/arm/ -e s/sa110/arm/ -e s/powerpc/ppc/ -e s/macppc/ppc/)#对uname -m输出的结果进行过滤通过sed命令将当前主机体系结构选出来,这儿sed -e 后执行替换命令将i.86,sun4u,arm.*,sa110,powerpc,macppc替换为i386,sparc64,arm,ppc,ppc,将替换完的结果放入变量HOSTARCHHOSTOS := $(shell uname -s | tr ':upper:' ':lower:' | sed -e 's/(cygwin).*/cygwin/')#意义同上,选出当前主机使用的操作系统,tr ':upper:' ':lower:'命令将缓冲区内所有字符都变小写,将结果放入HOSTOS 【tr 字符1 字符2】export HOSTARCH HOSTOS #导出变量HOSTARCH HOSTOSVENDOR= #变量VENDOR为空# U-boot 生成一个目标文件来分开外面的文件夹,支持两种方式:# 1)将 0= 加到make命令行如:#make 0=/tmp/build all# 2) 通过设置全局环境变量BUILD_DIR如:#export BUILD_DIR=/tmp/build #make # 第二种方式也可以用MAKEFILE脚本#export BUILD_DIR=/tmp/build #./MAKEALL# 通过第一种方式会覆盖环境变量 BUILD_DIR# 如果没有显式指定使用哪种方式,编译脚本会自动进行本地编译,目标文件被存放在当前# 文件夹里# 使用第一种方式获得BUILD_DIRifdef Oifeq ("$(origin O)", "command line")BUILD_DIR := $(O)endifendif# 使用第二种方式获得BUILD_DIRifneq ($(BUILD_DIR),)saved-output := $(BUILD_DIR) # 将目标文件存放目录BUILD_DIR存入saved-output变量# 尝试创建输出目录,如果不存在目标目录就创建它$(shell -d $BUILD_DIR | mkdir -p $BUILD_DIR)# 验证目录是否创建成功BUILD_DIR := $(shell cd $(BUILD_DIR) && /bin/pwd)# 如果创建失败,打印创建失败信息$(if $(BUILD_DIR),$(error output directory "$(saved-output)" does not exist)endif # 结束ifneq# 如果BUILD_DIR变量不为空,OBJTREE = BUILD_DIR,否则OBJTREE = CURDIROBJTREE := $(if $(BUILD_DIR),$(BUILD_DIR),$(CURDIR)SRCTREE := $(CURDIR)TOPDIR := $(SRCTREE)LNDIR := $(OBJTREE)# 导出环境变量TOPDIR SRCTREE OBJTREEexport TOPDIR SRCTREE OBJTREE# MKCONFIG = $(CURDIR)/mkconfigMKCONFIG := $(SRCTREE)/mkconfig# 导出环境变量MKCONFIGexport MKCONFIG# 如果OBJTREE != CURDIRifneq ($(OBJTREE),$(SRCTREE)REMOTE_BUILD := 1# 导出环境变量REMOTE_BUILD = 1export REMOTE_BUILDendif# $(obj) 和 (src)在config.mk里被定义,但是在Makefile没有被定义,由于在Makefile要用# 到,因此要创建之# 如果OBJTREE != CURDIRifneq ($(OBJTREE),$(SRCTREE)obj := $(OBJTREE)/src := $(SRCTREE)/# OBJTREE = CURDIRelseobj :=src :=endif# 导出环境变量obj srcexport obj srcifeq ($(OBJTREE)/include/config.mk,$(wildcard $(OBJTREE)/include/config.mk)# config.mk将包含进来include $(OBJTREE)/include/config.mk# 导出config.mk 文件里的ARCH CPU BOARD VENDOR SOCexport ARCH CPU BOARD VENDOR SOC# 设置交叉编译器的体系结构# CROSS_COMPILE没有被定义ifndef CROSS_COMPILE ifeq ($(HOSTARCH),ppc) # 主机体系结构为ppc CROSS_COMPILE = else# 其它体系结构 ifeq ($(ARCH),ppc)# 目标体系结构为ppc CROSS_COMPILE = powerpc-linu endif ifeq ($(ARCH),arm) # 目标体系结构为arm CROSS_COMPILE = arm-linux- endif ifeq ($(ARCH),i386) # 目标体系结构为i386 ifeq ($(HOSTARCH),i386) # 主机体系结构为i386 CROSS_COMPILE = else# 主机体系结构为非i386体系结构 CROSS_COMPILE = i386-linux- endif endif ifeq ($(ARCH),mips) # 目标体系结构为mips CROSS_COMPILE = mips_4KC- endif ifeq ($(ARCH),nios) # 目标体系结构为nios CROSS_COMPILE = nios-elf- endif ifeq ($(ARCH),nios2) # 目标体系结构为nios2 CROSS_COMPILE = nios2-elf- endif ifeq ($(ARCH),m68k) # 目标体系结构为m68k CROSS_COMPILE = m68k-elf- endif ifeq ($(ARCH),microblaze) # 目标体系结构为microblaze CROSS_COMPILE = mb- endif ifeq ($(ARCH),blackfin) # 目标体系结构为blackfin CROSS_COMPILE = bfin-elf-Endififeq ($(ARCH),avr32) # 目标体系结构为avr32 CROSS_COMPILE = avr32-endif endifendif# 导出交叉编译器的体系结构export CROSS_COMPILE# config.mk将包含进来include $(TOPDIR)/config.mk# 下面将根据导出的交叉编译器的体系结构,设置目标文件# 编译顺序很重要,start.o要放在第一个OBJS = cpu/$(CPU)/start.oifeq ($(CPU),i386)OBJS += cpu/$(CPU)/start16.oOBJS += cpu/$(CPU)/reset.oendififeq ($(CPU),ppc4xx)OBJS += cpu/$(CPU)/resetvec.oendififeq ($(CPU),mpc83xx)OBJS += cpu/$(CPU)/resetvec.oendififeq ($(CPU),mpc85xx)OBJS += cpu/$(CPU)/resetvec.oendififeq ($(CPU),mpc86xx)OBJS += cpu/$(CPU)/resetvec.oendififeq ($(CPU),bf533)OBJS += cpu/$(CPU)/start1.o cpu/$(CPU)/interrupt.o cpu/$(CPU)/cache.oOBJS += cpu/$(CPU)/cplbhdlr.o cpu/$(CPU)/cplbmgr.o cpu/$(CPU)/flush.oendifOBJS := $(addprefix $(obj),$(OBJS)LIBS = lib_generic/libgeneric.aLIBS += board/$(BOARDDIR)/lib$(BOARD).aLIBS += cpu/$(CPU)/lib$(CPU).aifdef SOCLIBS += cpu/$(CPU)/$(SOC)/lib$(SOC).aendifLIBS += lib_$(ARCH)/lib$(ARCH).aLIBS += fs/cramfs/libcramfs.a fs/fat/libfat.a fs/fdos/libfdos.a fs/jffs2/libjffs2.a fs/reiserfs/libreiserfs.a fs/ext2/libext2fs.aLIBS += net/libnet.aLIBS += rtc/librtc.aLIBS += drivers/libdrivers.aLIBS += drivers/nand/libnand.a

注意事项

本文(u-boot-Makefile注解)为本站会员(206****923)主动上传,金锄头文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即阅读金锄头文库的“版权提示”【网址:https://www.jinchutou.com/h-59.html】,按提示上传提交保证函及证明材料,经审查核实后我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.