自动编译mtd-utils及ubi工具

#!/bin/sh
 
#+--------------------------------------------------------------------------------------------
#|Description:  This shell script used to download lzo,zlib,mtd-utils source code
#|              and cross compile it for mips Linux, all is static cross compile.
#+--------------------------------------------------------------------------------------------
 
 
PRJ_PATH=`pwd`
CROSS=mipsel-linux-
 
CC=${CROSS}gcc
AR=${CROSS}ar
LD=${CROSS}ld
STRIP=${CROSS}strip
NM=${CROSS}nm
RANLIB=${CROSS}ranlib
OBJDUMP=${CROSS}objdump
 
 
export CC=${CC}
export AR=${AR}
export LD=${LD}
export STRIP=${STRIP}
export NM=${NM}
export RANLIB=${RANLIB}
export OBJDUMP=${OBJDUMP}
 
 
LZO="lzo-2.04"
ZLIB="zlib-1.2.7"
 
 
function decompress_packet()
(
   echo "+----------------------------------------+"
   echo "|  Decompress $1 now"  
   echo "+----------------------------------------+"
 
 
   if [ `ls $1 | grep "tar.bz2"` ] ; then
       set -x
       tar -xjf $1
       set +x
   fi
 
 
   if [ `ls $1 | grep "tar.gz"` ] ; then
       set -x
       tar -xzf $1
       set +x
   fi
)
 
 
echo "+----------------------------------------+"
echo "|  Cross compile $LZO now "  
echo "+----------------------------------------+"
 
 
# Download lzo source code packet
if [ ! -s $LZO.tar.gz ] ; then
   wget http://www.oberhumer.com/opensource/lzo/download/$LZO.tar.gz
fi
 
 
# Decompress lzo source code packet
if [ ! -d $LZO ] ; then
    decompress_packet $LZO.tar.*
fi
 
 
# Cross compile lzo
cd  $LZO
if [ ! -s src/.libs/liblzo*.a ] ; then
   unset LDFLAGS
   ./configure  --host=mipsel-linux --enable-static --disable-shared CC=${CROSS}gcc AR=${AR} LD=${LD} \
   NM=${NM} RANLIB=${RANLIB} STRIP="${STRIP}" OBJDUMP=${OBJDUMP}
   make
fi
cd  -
 
 
echo "+----------------------------------------+"
echo "|  Cross compile $ZLIB now "  
echo "+----------------------------------------+"
# Download zlib source code packet
if [ ! -s $ZLIB.tar* ] ; then
#wget http://www.zlib.net/$ZLIB.tar.gz
   wget http://www.imagemagick.org/download/delegates/$ZLIB.tar.bz2
fi
 
 
# Decompress zlib source code packet
if [ ! -d $ZLIB ] ; then
    decompress_packet $ZLIB.tar.*
fi
 
 
#Cross compile zlib
cd  $ZLIB
if [ ! -s libz.a ] ; then
    unset LDFLAGS
    ./configure  --static 
    make
fi
cd  -
 
 

echo "+----------------------------------------+"
echo "|  Cross compile E2fsprogs now "  
echo "+----------------------------------------+"
 
 
if [ -s e2fsprogs.tar.* ] ; then
    decompress_packet e2fsprogs.tar.*
fi
 
# download mtd-utils source code
if [ ! -d  e2fsprogs ] ; then
   git clone git://git.kernel.org/pub/scm/fs/ext2/e2fsprogs.git
fi
 
cd e2fsprogs
if [ ! -s lib/libe2p.a ] ; then
    unset LDFLAGS
    ./configure --host=mipsel-linux CC=${CROSS}gcc
    make
fi
cd -

 
echo "+----------------------------------------+"
echo "|  Cross compile mtd-utils now "  
echo "+----------------------------------------+"
 
 
if [ -s mtd-utils.tar.* ] ; then
    decompress_packet mtd-utils.tar.*
fi
 
# download mtd-utils source code
if [ ! -d  mtd-utils ] ; then
   git clone git://git.infradead.org/mtd-utils.git
fi
 
#Add the CROSS tool in file mtd-utils/common.mk
head -1 mtd-utils/common.mk | grep "CROSS=mipsel-linux-"
if [ 0 != $? ] ; then
   echo "Modify file mtd-utils/common.mk"
   sed -i -e 1i"CROSS=mipsel-linux-" mtd-utils/common.mk
fi
 
cd mtd-utils
  unset LDFLAGS
  export CFLAGS="-DWITHOUT_XATTR -I$PRJ_PATH/$ZLIB -I$PRJ_PATH/e2fsprogs/lib -I$PRJ_PATH/$LZO/include"
  export ZLIBLDFLAGS=-L$PRJ_PATH/$ZLIB
  export E2FSLIBLDFLAGS=-L$PRJ_PATH/e2fsprogs/lib/
  export LZOLDFLAGS=-L$PRJ_PATH/$LZO/src/.libs/
  export LDFLAGS=-static
  make
cd -

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值