- 论坛徽章:
- 0
|
本帖最后由 qianhulou 于 2011-02-24 09:51 编辑
各位大侠:
我写了个编译脚本, 最开始在 linux没有问题, 在HP_UNIX上没有问题, 后来我又更新到linux上就报:
./Makeinstall: line 18: syntax error near unexpected token `fi'
'/Makeinstall: line 18: `fi;
我COPY了前面的, 现在报的换地方了
abm:[/home/abm/abmclnt]#./makeinstall
'/makeinstall: line 28: syntax error near unexpected token `do
'/makeinstall: line 28: `do
红色标记的地方
ABM_DIR=`pwd`
OBJ='Make.defines.head'
DEPLOY_DIR='deploy'
if [ "$ABM_DIR" != "$ABM_HOME" ]; then
echo "Usage: "
echo
echo " $ABM_HOME environment error!"
echo
echo " set ABM_HOME = $ABM_DIR"
echo
exit 1
fi
## 检查目录是否健全
DEPLOY_DIR="$ABMAPP_DEPLOY"
if [ ! -d "$DEPLOY_DIR" ]
then
echo "Usage: "
echo
echo " mkdir $DEPLOY_DIR in $ABM_HOME directroy first!"
echo
exit 1
fi
cd $DEPLOY_DIR
for dir in config log lock bin lib
do
if [ ! -d "$dir" ]; then
mkdir "$dir"
fi
done
cd "$ABM_HOME"
# 检查系统平台
case `uname` in
AIX)
PLATFORM=IBM
;;
SunOS)
PLATFORM=SUN
;;
Linux)
PLATFORM=LINUX
;;
HP-UX)
PLATFORM=HP
;;
*)
echo "`uname` can't support"
exit 1;
;;
esac
DEFINE="-D_ABM_CLIENT_ -D_TRANS_APP_PACK_ -D_OPEN_PERF_STAT_"
if [ "$ABM_LITTLE_ENDIAN" = "Y" ]
then
DEFINE="$DEFINE -DABM_LITTLE_ENDIAN"
fi
I_SYM=-I
INCLUDE="$I_SYM. $I_SYM$ABM_DIR/include"
AR="ar -rv"
RANLIB="ranlib"
LD_USR_LIBS=" -L$ABMAPP_DEPLOY/lib -labmclnt"
LD_SYS_LIBS=" -lpthread"
if [ "$PLATFORM" = "HP" ]
then
GCC="aCC -v -g -AA -mt +DD64"
CFLAGS=" +DA2.0W -D_RWSTD_MULTI_THREAD -DSS_64BIT_SERVER"
LD_CXX_CFLAGS=" -Wl,+s -Wl,+n +DD64"
DEFINE=" $DEFINE -DDEF_HP -D_REENTRANT -D__BIGMSGQUEUE_ENABLED"
elif [ "$PLATFORM" = "LINUX" ]
then
GCC="g++"
CFLAGS=" -Wno-deprecated -g -fpermissive"
LD_CXX_CFLAGS=" $CFLAGS"
DEFINE=" $DEFINE -DDEF_LINUX -D__USE_POSIX199309"
LD_SYS_LIBS=" $LD_SYS_LIBS -lrt"
else
echo "$PLATFORM PLATFORM NOT SUPPORT"
exit 1;
fi;
echo
echo "ABM_DIR = $ABM_DIR"
echo
echo "PLATFORM = $PLATFORM"
echo
echo "ABM_LITTLE_ENDIAN = $ABM_LITTLE_ENDIAN"
echo
echo "DEFINE = $DEFINE"
echo
echo "INCLUDE = $INCLUDE"
echo
echo "AR = $AR"
echo
echo "RANLIB = $RANLIB"
echo
echo "LD_USR_LIBS = $LD_USR_LIBS"
echo
echo "LD_SYS_LIBS = $LD_SYS_LIBS"
echo
echo "GCC = $GCC"
echo
echo "CFLAGS = $CFLAGS"
echo
echo "LD_CXX_CFLAGS = $LD_CXX_CFLAGS"
echo
echo "ABM_DIR= $ABM_DIR">$OBJ
echo "PLATFORM= $PLATFORM">>$OBJ
echo "ABM_LITTLE_ENDIAN= $ABM_LITTLE_ENDIAN">>$OBJ
echo "DEFINE= $DEFINE">>$OBJ
echo "INCLUDE= $INCLUDE">>$OBJ
echo "AR= $AR">>$OBJ
echo "RANLIB= $RANLIB">>$OBJ
echo "LD_USR_LIBS= $LD_USR_LIBS">>$OBJ
echo "LD_SYS_LIBS= $LD_SYS_LIBS">>$OBJ
echo "GCC=$GCC">>$OBJ
echo "CFLAGS= $CFLAGS" 1>>$OBJ
echo "LD_CXX_CFLAGS= $LD_CXX_CFLAGS">>$OBJ
echo "Make.defines.head success!";
echo
exit 0; |
|