#!/bin/sh
VER=5.1
BUGFIX=0
TEST_DIR=testing7
CC="cc" # -DDMALLOC -DDMALLOC_FUNC_CHECK"
#FLEX="/usr/user1/capadvt/BIN/flex -Cfa -s"
FLEX="flex -Cfa -s"
#YACC="/usr/bin/byacc"
YACC="/usr/bin/yacc"
MV="mv"
#echo "${CC}"
ARCH=`uname`
#echo "${ARCH}"
# have to put " around the multiple line string
PAR_OBJ="${ARCH}/capaCommon.o ${ARCH}/capaLexerFun.o \
${ARCH}/capaParserFun.o ${ARCH}/capaFunction.o ${ARCH}/capaParserUtils.o \
${ARCH}/capaMapExpr.o ${ARCH}/capaUnit.o ${ARCH}/com.o ${ARCH}/linpack.o ${ARCH}/ranlib.o \
${ARCH}/capaCgiUtils.o ${ARCH}/capaRQO.o ${ARCH}/capaFormulaLexer.o ${ARCH}/capaFormulaParser.o \
${ARCH}/capaSubjective.o"
#echo "OBJ:${PAR_OBJ}"
prefix=""
CCFLAG="-g -DUSE_DYNAMIC_SYMBOLS"
PLIBS="-ll -lm -lcurses -ltermcap"
if [ ${ARCH} = "AIX" ]
then
CCFLAG="-O3 -DAIX"
fi
if [ ${ARCH} = "OSF1" ]
then
#CCFLAG="-O3 -Olimit 1024 -DUSE_DYNAMIC_SYMBOLS -DUSE_DYNAMIC_LEXBUFS"
CCFLAG="-O3 -Olimit 2048 -DUSE_DYNAMIC_SYMBOLS -DCAPA_VER=\"${VER}.${BUGFIX}\" -DCOMPILE_DATE=\"`date +'%b-%d-%Y'`\""
fi
if [ ${ARCH} = "NEXTSTEP" ]
then
CCFLAG="-arch i386 -arch m68k"
fi
if [ ${ARCH} = "SunOS" ]
then
CCFLAG="-xO3"
fi
if [ ${ARCH} = "HP-UX" ]
then
CCFLAG="-O -Ae -Dhpux"
fi
if [ ${ARCH} = "IRIX" ]
then
CCFLAG="-O2 -DIRIX"
fi
# echo "ALL: $*"
# echo "ONE: $1"
# echo "TWO: $2"
lexCAPA()
{
echo "${FLEX} capaLexerDef.flex"
#
${FLEX} capaLexerDef.flex
echo "mv lex.yy.c capaLexerFun.c"
mv lex.yy.c capaLexerFun.c
ofile="${ARCH}/capaLexerFun.o"
cfile="capaLexerFun.c"
cmd="${CC} $CCFLAG -c $cfile -o $ofile"
echo $cmd
$cmd
}
lexCAPAdmalloc()
{
echo "${FLEX} capaLexerDef.flex"
#
${FLEX} capaLexerDef.flex
echo "mv lex.yy.c capaLexerFun.c"
mv lex.yy.c capaLexerFun.c
ofile="${ARCH}/capaLexerFun.o"
cfile="capaLexerFun.c"
cmd="${CC} $CCFLAG -c $cfile -o $ofile"
echo $cmd
$cmd
}
lexCAPAdbug()
{
echo "${FLEX} capaLexerDef.flex"
#
${FLEX} capaLexerDef.flex
echo "mv lex.yy.c capaLexerFun.c"
mv lex.yy.c capaLexerFun.c
ofile="${ARCH}/capaLexerFun.o"
cfile="capaLexerFun.c"
cmd="${CC} $CCFLAG -DLEX_DBUG -c $cfile -o $ofile"
echo $cmd
$cmd
}
yaccCAPA()
{
echo "${YACC} capaGrammarDef.y
# -ocapaParserFun.c"
#
${YACC} -d capaGrammarDef.y
echo "mv y.tab.c capaParserFun.c"
mv y.tab.c capaParserFun.c
ofile="${ARCH}/capaParserFun.o"
cfile="capaParserFun.c"
cmd="${CC} $CCFLAG -c $cfile -o $ofile"
echo $cmd
$cmd
}
yaccCAPAdmalloc()
{
echo "${YACC} capaGrammarDef.y
# -ocapaParserFun.c"
#
${YACC} -d capaGrammarDef.y
echo "mv y.tab.c capaParserFun.c"
mv y.tab.c capaParserFun.c
ofile="${ARCH}/capaParserFun.o"
cfile="capaParserFun.c"
cmd="${CC} $CCFLAG -c $cfile -o $ofile"
echo $cmd
$cmd
}
yaccCAPAdbug()
{
echo "${YACC} capaGrammarDef.y -ocapaParserFun.c"
#
${YACC} -d capaGrammarDef.y
#-ocapaParserFun.c
echo "mv y.tab.c capaParserFun.c"
#
mv y.tab.c capaParserFun.c
echo "mv y.tab.h capaToken.h"
mv y.tab.h capaToken.h
ofile="${ARCH}/capaParserFun.o"
cfile="capaParserFun.c"
cmd="${CC} $CCFLAG -DYACC_DBUG -c $cfile -o $ofile"
echo $cmd
$cmd
}
formulaParser()
{
echo "YACC -p fml_ -d capaFormula.y"
${YACC} -b fma -p fml_ -d capaFormula.y
echo "MV fma.tab.c capaFormulaParser.c"
echo "MV fma.tab.h capaFormula.h"
${MV} fma.tab.c capaFormulaParser.c
${MV} fma.tab.h capaFormula.h
ofile="${ARCH}/capaFormulaParser.o"
cfile="capaFormulaParser.c"
cmd="${CC} $CCFLAG -c $cfile -o $ofile"
echo $cmd
$cmd
}
formulaDbug()
{
echo "YACC -p fml_ -d capaFormula.y"
${YACC} -b fma -p fml_ -d capaFormula.y
echo "MV fma.tab.c capaFormulaParser.c"
echo "MV fma.tab.h capaFormula.h"
${MV} fma.tab.c capaFormulaParser.c
${MV} fma.tab.h capaFormula.h
ofile="${ARCH}/capaFormulaParser.o"
cfile="capaFormulaParser.c"
cmd="${CC} $CCFLAG -DFML_DBUG -c $cfile -o $ofile"
echo $cmd
$cmd
ofile="${ARCH}/capaParserUtils.o"
cfile="capaParserUtils.c"
cmd="${CC} $CCFLAG -c $cfile -o $ofile"
echo $cmd
$cmd
}
symboldbug()
{
echo "${YACC} capaGrammarDef.y "
#
${YACC} capaGrammarDef.y
echo "mv y.tab.c capaParserFun.c"
#
mv y.tab.c capaParserFun.c
ofile="${ARCH}/capaParserFun.o"
cfile="capaParserFun.c"
cmd="${CC} $CCFLAG -DSYMBOL_DBUG -c $cfile -o $ofile"
echo $cmd
$cmd
ofile="${ARCH}/capaParserUtils.o"
cfile="capaParserUtils.c"
cmd="${CC} $CCFLAG -DSYMBOL_DBUG -c $cfile -o $ofile"
echo $cmd
$cmd
# ofile="${ARCH}/capaFunction.o"
# cfile="capaFunction.c"
# cmd="${CC} $CCFLAG -DSYMBOL_DBUG -c $cfile -o $ofile"
# echo $cmd
# $cmd
}
dynamicsymbol()
{
echo "${FLEX} capaLexerDef.flex"
#
${FLEX} capaLexerDef.flex
echo "mv lex.yy.c capaLexerFun.c"
#
mv lex.yy.c capaLexerFun.c
ofile="${ARCH}/capaLexerFun.o"
cfile="capaLexerFun.c"
cmd="${CC} $CCFLAG -DUSE_DYNAMIC_SYMBOLS -c $cfile -o $ofile"
echo $cmd
$cmd
ofile="${ARCH}/capaParserUtils.o"
cfile="capaParserUtils.c"
cmd="${CC} $CCFLAG -DUSE_DYNAMIC_SYMBOLS -c $cfile -o $ofile"
echo $cmd
$cmd
ofile="${ARCH}/capaCommon.o"
cfile="capaCommon.c"
cmd="${CC} $CCFLAG -c $cfile -o $ofile"
echo $cmd
$cmd
}
arraysymbol()
{
echo "${FLEX} capaLexerDef.flex"
#
${FLEX} capaLexerDef.flex
echo "mv lex.yy.c capaLexerFun.c"
#
mv lex.yy.c capaLexerFun.c
ofile="${ARCH}/capaLexerFun.o"
cfile="capaLexerFun.c"
cmd="${CC} $CCFLAG -c $cfile -o $ofile"
echo $cmd
$cmd
ofile="${ARCH}/capaParserUtils.o"
cfile="capaParserUtils.c"
cmd="${CC} $CCFLAG -c $cfile -o $ofile"
echo $cmd
$cmd
ofile="${ARCH}/capaCommon.o"
cfile="capaCommon.c"
cmd="${CC} $CCFLAG -c $cfile -o $ofile"
echo $cmd
$cmd
}
CAPAParserUtilsdbug()
{
ofile="${ARCH}/capaParserUtils.o"
cfile="capaParserUtils.c"
cmd="${CC} $CCFLAG -DPARSER_DBUG -c $cfile -o $ofile"
echo $cmd
$cmd
}
CAPAParserUtils()
{
ofile="${ARCH}/capaParserUtils.o"
cfile="capaParserUtils.c"
cmd="${CC} $CCFLAG -c $cfile -o $ofile"
echo $cmd
$cmd
}
CAPAFunction()
{
ofile="${ARCH}/capaFunction.o"
cfile="capaFunction.c"
cmd="${CC} $CCFLAG -c $cfile -o $ofile"
echo $cmd
$cmd
}
createCAPAlib()
{
if [ -f ${ARCH}/libcapa${VER}.a ]
then
rm ${ARCH}/libcapa${VER}.a
fi
echo "ar q ${ARCH}/libcapa${VER}.a ${PAR_OBJ}"
ar q ${ARCH}/libcapa${VER}.a ${PAR_OBJ}
}
compileLexTest()
{
if [ -f ${TEST_DIR}/testL ]
then
rm ${TEST_DIR}/testL
fi
(cd ${TEST_DIR}; make testL)
}
compileParseTest()
{
if [ -f ${TEST_DIR}/testP ]
then
rm ${TEST_DIR}/testP
fi
(cd ${TEST_DIR}; make testP)
}
compileParseTestDmalloc()
{
if [ -f ${TEST_DIR}/testP ]
then
rm ${TEST_DIR}/testP
fi
(cd ${TEST_DIR}; make testPdmalloc)
}
compileLoginTest()
{
if [ -f ${TEST_DIR}/testLogin ]
then
rm ${TEST_DIR}/testLogin
fi
ofile="${ARCH}/capaLoginTest.o"
cfile="capalogin.c"
cmd="${CC} $CCFLAG -DLOGIN_DBUG -c $cfile -o $ofile"
echo $cmd
$cmd
cmd="${CC} $CCFLAG -Wall ${ARCH}/libcapa${VER}.a $ofile -L${ARCH} -lcapa${VER} ${PLIBS} -o ${TEST_DIR}/testLogin"
echo $cmd
$cmd
}
compileFormulaTest()
{
if [ -f ${TEST_DIR}/testFormula ]
then
rm ${TEST_DIR}/testFormula
fi
ofile="${ARCH}/capaTestFormula.o"
cfile="${TEST_DIR}/tformula_main.c"
cmd="${CC} $CCFLAG -DLOGIN_DBUG -I. -I.. -c $cfile -o $ofile"
echo $cmd
$cmd
cmd="${CC} $CCFLAG ${ARCH}/libcapa${VER}.a $ofile -L${ARCH} -lcapa${VER} ${PLIBS} -o
${TEST_DIR}/testFormula"
echo $cmd
$cmd
}
for i in $* ; do
case "$i" in
*FP)
formulaParser
createCAPAlib
;;
*LD)
lexCAPAdmalloc
;;
*L)
## lexCAPA
## createCAPAlib
;;
*X)
## lexCAPAdbug
## createCAPAlib
;;
*P)
## yaccCAPAdbug
## createCAPAlib
;;
*YD)
yaccCAPAdmalloc
;;
*Y)
yaccCAPA
## createCAPAlib
;;
*PD)
CAPAParserUtilsdbug
;;
*PU)
CAPAParserUtils
CAPAFunction
;;
*SS)
symboldbug
;;
*DS)
dynamicsymbol
;;
*AS)
arraysymbol
;;
*D)
formulaDbug
createCAPAlib
;;
esac
done
## createCAPAlib
for i in $* ; do
case "$i" in
*LD|*YD)
createCAPAlib
compileParseTestDmalloc
;;
*L|*X)
compileParseTest
;;
*PU|*Y|*SS|*DS|*AS)
createCAPAlib
compileParseTest
;;
*O|*o)
compileLoginTest
;;
*F|*f)
compileFormulaTest
;;
esac
done
echo " "
exit 0
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>