交叉编译appweb 4.2

来源:互联网 发布:知乎 fade 编辑:程序博客网 时间:2024/05/29 12:31

1、创建如下脚本,命名为build.sh

#!/bin/sh


   case $1 in
    arm)
   
export CC=/opt/crosstool/gcc-3.4.5-glibc-2.3.6/arm-softfloat-linux-gnu/bin/arm-softfloat-linux-gnu-gcc
export LD=/opt/crosstool/gcc-3.4.5-glibc-2.3.6/arm-softfloat-linux-gnu/bin/arm-softfloat-linux-gnu-ld
export ARCH=arm
export MTUNE=
export MYCFLAGS="-O2 -mapcs-frame -funroll-loops -ffast-math -fsigned-char"
export BITDEF="-DBIT_HAS_SYNC=0 -DBIT_HAS_SYNC_CAS=0"
#bit -d -q -platform linux-arm -without all -configure . -gen sh,make
#export MTUNE=-mtune=generic
make -f projects/appweb-linux-debug.mk
        ;;
    arm-uclinux)
   
        export CC=/opt/OpenWrt/staging_dir/toolchain-arm_gcc-4.3.4_uClibc-0.9.30.1/usr/bin/arm-openwrt-linux-gcc
export LD=/opt/OpenWrt/staging_dir/toolchain-arm_gcc-4.3.4_uClibc-0.9.30.1/usr/bin/arm-openwrt-linux-ld
export ARCH=arm
export MTUNE=
export SOS=-uclinux
export MYCFLAGS="-O2 -mapcs-frame -funroll-loops -ffast-math -fsigned-char"
export BITDEF="-DBIT_HAS_SYNC=0 -DBIT_HAS_SYNC_CAS=0"
#bit -d -q -platform linux-arm -without all -configure . -gen sh,make
#export MTUNE=-mtune=generic
make -f projects/appweb-linux-debug.mk  
        ;;
    mips)
        
        ;;
    mips-uclinux)
    export CC=/opt/acrospeed/mips-linux-uclibc/bin/mips-linux-gcc-3.4.6
export LD=/opt/acrospeed/mips-linux-uclibc/bin/mips-linux-ld
export ARCH=arm
export MTUNE=
export SOS=-uclinux
export MYCFLAGS="-O2 -mapcs-frame -funroll-loops -ffast-math -fsigned-char"
export BITDEF="-DBIT_HAS_SYNC=0 -DBIT_HAS_SYNC_CAS=0"
#bit -d -q -platform linux-arm -without all -configure . -gen sh,make
#export MTUNE=-mtune=generic
make -f projects/appweb-linux-debug.mk     
        ;;
    x86)
        export CC=gcc
export LD=ld
export ARCH=x86
export MTUNE="-mtune=generic"
export SOS=
export MYCFLAGS="-O2 -mapcs-frame -funroll-loops -ffast-math -fsigned-char"
#export BITDEF="-DBIT_HAS_SYNC=0 -DBIT_HAS_SYNC_CAS=0"
#bit -d -q -platform linux-arm -without all -configure . -gen sh,make
#export MTUNE=-mtune=generic
make -f projects/appweb-linux-debug.mk  
        ;;
    *)
        echo "please input cpu name...[arm|arm-uclinux|mips|mips-uclinux|x86]"
        exit 1
esac


2、修改projects/appweb-linux-debug.mk文件


#ARCH     ?= $(shell uname -m | sed 's/i.86/x86/;s/x86_64/x64/')
OS       := linux
#CC       ?= gcc
#LD       ?= /usr/bin/ld
PROFILE  := debug
CONFIG   := $(OS)-$(ARCH)$(SOS)-$(PROFILE)


CFLAGS   += -fPIC   -w
DFLAGS   += -D_REENTRANT -DPIC  $(BITDEF)

全文替换-mtune=generic 为$(MTUNE)


以上脚本在arm arm-ulinux下验证编译通过