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下验证编译通
#!/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下验证编译通