uboot主Makefile之1——HOSTARCH&HOSTOS

HOSTARCH := $(shell uname -m | \                         //注意这里的 | 是管道,即将shell uname -m执行得到的结果通过管道传给下面的sed命令

sed -e s/i.86/i386/ \              //将上面得到的结果中的i.86替换为i386,如果结果中没有i.86子串就不做替换
-e s/sun4u/sparc64/ \
-e s/arm.*/arm/ \
-e s/sa110/arm/ \
-e s/powerpc/ppc/ \
-e s/ppc64/ppc/ \
-e s/macppc/ppc/)

$(shell uname -m)表示执行uname –m的shell命令,他执行的结果是取出机器硬件名(这台机器是64位的,所以其得到的结果就是x86-84)。sed –e s/abc/def 的意思是寻找结果里面是否有’abc’字样,如果有,就用‘def’字样将其代替。

所以整条语句的意思就是,取出uname –m的结果,并在其中寻找是否有i.86字样,如果有就用i386代替,是否有arm.*(*是通配符),如果有,就用arm代替……,本台机的结果是x86-64所以还保持原样,没有用其他字符替换,所以HOSTARCH=x86-64

 

HOSTOS := $(shell uname -s | tr'[:upper:]' '[:lower:]' | \

            sed -e 's/cygwin.*/(cygwin/')

  

uname –s 表示取出本机操作系统内核名称,(这台机器是Linux),tr ‘[:upper:]’’[:lower:]’表示将结果里面的大写字符全部换成小写字符,sed –e‘s/Cygwin.*/Cygwin/’表示寻找结果里面是否有cygwin.*字符,如果有就用cygwin替换

所以整句话的结果就是HOSTOS = linux(注意第一个字母L被换成了小写l)

转载于:https://www.cnblogs.com/AndyChen1/p/8341215.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值