-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsetupsdk
31 lines (29 loc) · 2.17 KB
/
setupsdk
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
if [ -n "$BASH_SOURCE" ]; then # $BASH_SOURCE 为空 ==> 走这个分支 ==> if [ -n str ] ==> 当str非空的时候为true
# BASH_SOURCE[0] 等价于 BASH_SOURCE,BASH_SOURCE取得当前执行的 shell 文件所在的路径及文件名
# source setupsdk ==> $BASH_SOURCE 值是 setupsdk
# dirname xxx ==> 返回值是 xxx 所在的目录的路径
export ROOT=$(readlink -f $(dirname "$BASH_SOURCE")) # readlink -f 找出符号链接 最终的文件位置 ==> ROOT=/home/hpsp/rock_space/xen_yocto/yocto_script_analysis
elif [ -n "$ZSH_NAME" ]; then
export ROOT=$(readlink -f $(dirname "$0"))
else
export ROOT=$(readlink -f ${PWD})
fi
export TEMPLATECONF=$ROOT/sources/meta-petalinux/conf # TEMPLATECONF=/home/hpsp/rock_space/xen_yocto/yocto_script_analysis/sources/meta-petalinux/conf
# Use the internal layer, if it's checked out
if [ -d $ROOT/sources/meta-xilinx-internal ]; then # -d filename 如果filename为目录,则为真 ==>
# 不存在 /home/hpsp/rock_space/xen_yocto/yocto_script_analysis/sources/meta-xilinx-internal
# 该分支走不进来
export TEMPLATECONF=$ROOT/sources/meta-xilinx-internal/conf
fi
export PATH=$PATH:$ROOT/scripts
if [ -d $ROOT/sources/meta-xilinx-internal/scripts ]; then # 不存在 /home/hpsp/rock_space/xen_yocto/yocto_script_analysis/sources/meta-xilinx-internal/scripts
# 该分支走不进来
export PATH=$PATH:$ROOT/sources/meta-xilinx-internal/scripts
fi
source $ROOT/sources/core/oe-init-build-env "$@" # source /home/hpsp/rock_space/xen_yocto/yocto_script_analysis/sources/core/oe-init-build-env
# 执行脚本 /home/hpsp/rock_space/xen_yocto/yocto_script_analysis/sources/core/oe-init-build-env
# $@ 为空
# 可以参考 5:【vrygd】嵌入式linux系统开发:基于Yocto Project
# poky是Yocto项目为开发者提供的一个开发样例
# sources 目录下的 core,其实就是yocto的参考工程poly目录的改名 ==> poly 可以改名字,我下载的工程现在就改为core这个名字
# 所以 sources/core 就是 本脚本创建的yocto工程目录了