s5pv10的uboot主Makefile分析之1------HOSTARCH&HOSTOS

HOSTARCH := $(shell uname -m | \        #注意这里的 | 是管道,即将shell uname -m执行得到 
sed -e s/i.86/i386/ \                  #的结果通过管道传给下面的sed命令
    -e s/sun4u/sparc64/ \              #将上面得到的结果中的i.86替换为i386
    -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

猜你喜欢

转载自blog.csdn.net/baidu_37973494/article/details/88243494