blob: c0bc5913be5e3c3ea13a15708679bb76230b2783 [file] [log] [blame]
#!/bin/bash
if [ ! -f config ];then
echo "Exec init.sh in the first."
exit 1
fi
function mbtk_toolchain_download()
{
MBTK_TOOLCHAIN_DIR=~/openwrt_toolchains
# git clone "ssh://b.liu@192.168.1.198:29418/ASR1803_openwrt_mbtk_source" mbtk_source && scp -p -P 29418 b.liu@192.168.1.198:hooks/commit-msg "mbtk_source/.git/hooks/"
GIT_URL=`grep "url" .git/config | cut -d " " -f 3 | \
sed "s/ASR1803_openwrt_mbtk_source/mbtk_toolchains_for_asr_linux/"`
GIT_IP=`echo $GIT_URL | cut -d ":" -f 2`
GIT_IP=${GIT_IP: 2}
GIT_PORT=`echo $GIT_URL | cut -d "/" -f 3 | cut -d ":" -f 2`
if [ ! -d $MBTK_TOOLCHAIN_DIR ];then
echo "Start download toolchains."
# git clone "ssh://b.liu@192.168.1.198:29418/mbtk_toolchains_for_asr_linux" ~/openwrt_toolchains && scp -p -P 29418 b.liu@192.168.1.198:hooks/commit-msg ~/openwrt_toolchains/.git/hooks/
git clone "$GIT_URL" $MBTK_TOOLCHAIN_DIR && scp -p -P $GIT_PORT $GIT_IP:hooks/commit-msg "$MBTK_TOOLCHAIN_DIR/.git/hooks/"
fi
}
mbtk_toolchain_download
# static / shared
export BUILD_LIB_TYPE=shared
export STAGING_DIR=
ROOT_DIR=`pwd`
BUILD_LIBC_TEMP=`cat config | grep CONFIG_MBTK_LIBC | cut -d '=' -f 2`
if [ "$BUILD_LIBC_TEMP" == "musl" ];then
export BUILD_STD_LIBC=musl
else
export BUILD_STD_LIBC=glibc
fi
export BUILD_GCC_VERSION=`cat config | grep CONFIG_GCC_VERSION | cut -d '=' -f 2`
#export MBTK_DEV_INFO_VERSION=`cat config | grep CONFIG_DEV_INFO_VERSION | cut -d '=' -f 2`
export CONFIG_MBTK_5G_SUPPORT=`cat config | grep CONFIG_MBTK_5G_SUPPORT | cut -d '=' -f 2`
if [ -n "$1" ] ;then
case "$1" in
v1)
export MBTK_SOURCE_VERSION=1
;;
v2)
export MBTK_SOURCE_VERSION=2
;;
*)
MBTK_SOURCE_VERSION_TEMP=`cat config | grep CONFIG_MBTK_SOURCE_VERSION | cut -d '=' -f 2`
if [ "$MBTK_SOURCE_VERSION_TEMP" == "2" ];then
export MBTK_SOURCE_VERSION=2
else
export MBTK_SOURCE_VERSION=1
fi
esac
else
MBTK_SOURCE_VERSION_TEMP=`cat config | grep CONFIG_MBTK_SOURCE_VERSION | cut -d '=' -f 2`
if [ "$MBTK_SOURCE_VERSION_TEMP" == "2" ];then
export MBTK_SOURCE_VERSION=2
else
export MBTK_SOURCE_VERSION=1
fi
fi
function build()
{
cd mbtk
if [ -n "$1" ] ;then
case "$1" in
clean)
make clean
;;
*)
# exit 1;;
make -C $1
esac
else # 无参数
make || exit 1
fi
cd $ROOT_DIR
echo "Build MBTK success."
}
function copy_bin_and_lib()
{
# Copy All SO Files.
# cp -f mbtk/libmbtk_lib/wifi/libs out/lib
cp -f out/lib/* $1/lib
# Copy All Bin Files.
#cp -f out/bin/* $1/bin
[ -f out/bin/at ] && cp -f out/bin/at $1/bin
[ -f out/bin/mbtk_rild ] && cp -f out/bin/mbtk_rild $1/bin
[ -f out/bin/mbtk_rtpd ] && cp -f out/bin/mbtk_rtpd $1/bin
[ -f out/bin/mbtk_logd ] && cp -f out/bin/mbtk_logd $1/bin
[ -f out/bin/mbtk_adbd ] && cp -f out/bin/mbtk_adbd $1/bin
[ -f out/bin/mbtk_mdio ] && cp -f out/bin/mbtk_mdio $1/bin
[ -f out/bin/device_info_generate ] && cp -f out/bin/device_info_generate $1/..
[ -f out/bin/ota_update ] && cp -f out/bin/ota_update $1/..
[ -f out/bin/device_info ] && cp -f out/bin/device_info $1/bin
[ -f out/bin/mtd_info ] && cp -f out/bin/mtd_info $1/bin
[ -f out/bin/mbtk_sdk_ready ] && cp -f out/bin/mbtk_sdk_ready $1/bin
[ -f out/bin/mbtk_reboot ] && cp -f out/bin/mbtk_reboot $1/bin
[ -f out/bin/mbtk_gnssd ] && cp -f out/bin/mbtk_gnssd $1/bin
[ -f out/bin/mbtk_version ] && cp -f out/bin/mbtk_version $1/bin
[ -f out/bin/mbtk_servicesd ] && cp -f out/bin/mbtk_servicesd $1/bin
[ -f out/bin/aboot-tiny ] && cp -f out/bin/aboot-tiny $1/bin
[ -f out/bin/mbtk_rtpd ] && cp -f out/bin/mbtk_rtpd $1/bin
[ -f out/bin/mbtk_otad ] && cp -f out/bin/mbtk_otad $1/bin
# Copy GNSS(5311) bin files.
[ -f mbtk/aboot-tiny/files/release/jacana_fw.bin ] && cp -f mbtk/aboot-tiny/files/release/jacana_fw.bin $1/etc
[ -f mbtk/aboot-tiny/files/config/jacana_pvt.bin ] && cp -f mbtk/aboot-tiny/files/config/jacana_pvt.bin $1/etc
}
function copy_factory_files()
{
# Copy All SO Files.
# cp -f mbtk/libmbtk_lib/wifi/libs out/lib
cp -f out/lib/* $1/lib
# Copy All Bin Files.
#cp -f out/bin/* $1/bin
[ -f out/bin/at ] && cp -f out/bin/at $1/bin
[ -f out/bin/device_info_generate ] && cp -f out/bin/device_info_generate $1/..
[ -f out/bin/device_info ] && cp -f out/bin/device_info $1/bin
[ -f out/bin/mbtk_mdio ] && cp -f out/bin/mbtk_mdio $1/bin
[ -f out/bin/mbtk_gnssd ] && cp -f out/bin/mbtk_gnssd $1/bin
[ -f out/bin/aboot-tiny ] && cp -f out/bin/aboot-tiny $1/bin
# Copy GNSS(5311) bin files.
[ -f mbtk/aboot-tiny/files/release/jacana_fw.bin ] && cp -f mbtk/aboot-tiny/files/release/jacana_fw.bin $1/etc
[ -f mbtk/aboot-tiny/files/config/jacana_pvt.bin ] && cp -f mbtk/aboot-tiny/files/config/jacana_pvt.bin $1/etc
}
function file_copy()
{
ROOTFS_DIR=$ROOT_DIR/../asr_code/mbtk/rootfs
if [ -d $ROOTFS_DIR ];then
echo "Copy MBTK out files..."
if [ ! -d $ROOTFS_DIR/bin ];then
mkdir $ROOTFS_DIR/bin
fi
if [ ! -d $ROOTFS_DIR/lib ];then
mkdir $ROOTFS_DIR/lib
fi
copy_factory_files $ROOTFS_DIR
else
echo "No found rootfs : $ROOTFS_DIR"
fi
}
function temp_mbtk_copy()
{
TEMP_MBTK_DIR=$ROOT_DIR/../temp_open
if [ -d $TEMP_MBTK_DIR ];then
rm -rf $TEMP_MBTK_DIR
fi
mkdir -p $TEMP_MBTK_DIR/mbtk/include
mkdir -p $TEMP_MBTK_DIR/mbtk/rootfs/bin
mkdir -p $TEMP_MBTK_DIR/mbtk/rootfs/lib
mkdir -p $TEMP_MBTK_DIR/mbtk/rootfs/etc
mkdir -p $TEMP_MBTK_DIR/mbtk/test
copy_bin_and_lib $TEMP_MBTK_DIR/mbtk/rootfs
# Copy include file.
if [ -d mbtk/include ];then
cp -rf mbtk/include/* $TEMP_MBTK_DIR/mbtk/include
fi
# Copy test source.
if [ -d mbtk/test ];then
cope_file="mbtk/test/*"
files=$(ls $cope_file 2> /dev/null | wc -l)
if [ "$files" != "0" ] ;then #如果存在文件
cp -rf $cope_file $TEMP_MBTK_DIR/mbtk/test
fi
fi
}
function print_arg()
{
echo BUILD_STD_LIBC=$BUILD_STD_LIBC
echo MBTK_SOURCE_VERSION=$MBTK_SOURCE_VERSION
# echo MBTK_DEV_INFO_VERSION=$MBTK_DEV_INFO_VERSION
}
function main()
{
if [ ! -d out/lib ];then
mkdir -p out/lib
fi
if [ ! -d out/bin ];then
mkdir -p out/bin
fi
if [ "$BUILD_LIBC_TEMP" == "musl" ];then
[ -f mbtk/libmbtk_lib/wifi/libs/libwpa_client_musl.so ] && cp -f mbtk/libmbtk_lib/wifi/libs/libwpa_client_musl.so mbtk/libmbtk_lib/wifi/libs/libwpa_client.so
else
[ -f mbtk/libmbtk_lib/wifi/libs/libwpa_client_glibc.so ] && cp -f mbtk/libmbtk_lib/wifi/libs/libwpa_client_glibc.so mbtk/libmbtk_lib/wifi/libs/libwpa_client.so
fi
if [ -n "$1" ] ;then
if [ "$1" == "v1" -o "$1" == "v2" ];then
build clean
else
build $1
exit 0
fi
fi
if [ ! -d out/lib ];then
mkdir -p out/lib
fi
if [ ! -d out/bin ];then
mkdir -p out/bin
fi
build
print_arg
file_copy
temp_mbtk_copy
}
# exit 1
print_arg
main $1