#!/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" FLEX="/usr/user1/capadvt/BIN/flex -Cfa -s" #YACC="/usr/bin/byacc" YACC="/usr/user1/capadvt/BIN/bison" 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" compileUnits() { ofile="${ARCH}/capaUnit.o" cfile="capaUnit.c" cmd="${CC} $CCFLAG -c $cfile -o $ofile" echo $cmd $cmd } 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 # mv y.tab.c capaParserFun.c echo "mv capaGrammarDef.tab.c capaParserFun.c" mv capaGrammarDef.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) echo "Hi There" 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 ;; *U|*u) compileUnits ;; *lib|*Lib) createCAPAlib ;; esac done echo " " exit 0