# ================================================================== # Makefile for CAPA 5.1 # ================================================================== VER = 5.1 BUGFIX = 0 #CC = i486-linuxlibc1-gcc -DCAPA_VER=\"$(VER).$(BUGFIX)\" -DCOMPILE_DATE=\"`date +'%b-%d-%Y'`\" CC = cc -DCAPA_VER=\"$(VER).$(BUGFIX)\" -DCOMPILE_DATE=\"`date +'%b-%d-%Y-%H:%M'`\" CFLAG = -g -Wall DEF = -DUSE_DYNAMIC_SYMBOLS LEX = flex YACC = bison AR = ar MV = mv RM = rm STRIP = echo #STRIP = strip LEXFLAG = -v # OSF1, SunOS, Linux, NEXTSTEP, HP-UX, IRIX ARCH = $(shell uname) OSF1 = -lcurses #-ltermcap SunOS = /home/capa/source/lib/libncurses.a Linux = /usr/lib/libncurses.a NEXTSTEP = -lcurses -ltermcap HP-UX = -lcurses -ltermcap IRIX = -lcurses -ltermcap FreeBSD = -lncurses -ltermcap P_FLAGS = -ll -lm S_FLAGS = $($(ARCH)) $(P_FLAGS) OSF1FLAG = -O3 -Olimit 2048 #ARCH = $(shell uname) # Architecture speicifc subdirectory # output from uname command # # Architectural note: # on NeXT compiling libcapa after the final step, # ranlib libcapa4.5.a # # HP-UX # alloca() could not linked by ld # file capaParserFun.c contains alloca definition # add and after __hpux # gmake is not available on HP-UX DECS PAR_SRC = capaCommon.c capaLexerFun.c \ capaParserFun.c capaFunction.c capaParserUtils.c \ capaMapExpr.c capaUnit.c com.c linpack.c ranlib.c \ capaCgiUtils.c capaSubjective.c capaRQO.c capaFormulaLexer.c capaFormulaParser.c UNIT_SRC = capaUnit.c P_SRC_DIST = pProj/Makefile \ pProj/capaCommon.c pProj/capaLexerFun.c \ pProj/capaParserFun.c pProj/capaFunction.c \ pProj/capaMapExpr.c \ pProj/com.c pProj/linpack.c \ pProj/ranlib.c \ pProj/capaCommon.h pProj/capaFunction.h \ pProj/capaParser.h pProj/capaToken.h \ pProj/ranlib.h pProj/lex_debug.h \ pProj/allcapaid.c pProj/capalogin.c \ pProj/qztotex.c pProj/capaUnit.c \ pProj/qzparse.c pProj/capaCgiUtils.c \ pProj/capaCGI.h pProj/capaHTML.c \ pProj/capaSubjective.c pProj/capaFormula.h \ pProj/capaFormulaLexer.c pProj/capaFormulaParser.c pProj/capaParserUtils.c BIN_DIST = pProj/$(ARCH)/capalogin pProj/$(ARCH)/qztotex pProj/$(ARCH)/allcapaid pProj/$(ARCH)/qzparse #pProj/$(ARCH)/setdbheader BIN_DIST_NOPATH = capalogin allcapaid qzparse capahtml capasbin PAR_OBJ = $(PAR_SRC:.c=.o) UNIT_OBJ = $(UNIT_SRC:.c=.o) ARCH_OBJ = $(ARCH)/capaCommon.o $(ARCH)/capaLexerFun.o \ $(ARCH)/capaParserFun.o $(ARCH)/capaFunction.o \ $(ARCH)/capaUnit.o \ $(ARCH)/capaCgiUtils.o $(ARCH)/capaSubjective.o \ $(ARCH)/capaMapExpr.o $(ARCH)/com.o \ $(ARCH)/linpack.o $(ARCH)/ranlib.o $(ARCH)/capaRQO.o \ $(ARCH)/capaFormulaLexer.o $(ARCH)/capaFormulaParser.o $(ARCH)/capaParserUtils.o ## =================================================================== # conditional macros in alpha # # libcapa:=MACRO=string all: libcapa capalogin capahtml capasbin allcapaid qzparse dmalloc: $(MAKE) DEF="-DDMALLOC -DDMALLOC_FUNC_CHECK $(DEF)" P_FLAGS="-ldmalloc $(P_FLAGS)" libcapa capasbin #qzparse libcapa: $(MAKE) objdir $(MAKE) allobj if test -f $(ARCH)/libcapa$(VER).a ; then $(RM) $(ARCH)/libcapa$(VER).a ; fi (cd $(ARCH); $(AR) q libcapa$(VER).a $(PAR_OBJ) ) if test $(ARCH) = "NEXTSTEP" ; then \ (cd $(ARCH); ranlib libcapa$(VER).a ) ; fi binclean: $(RM) $(ARCH)/*.o $(ARCH)/*.a package: @(cd $(ARCH);tar cvvf ../capabin.`uname`.$(VER).tar $(BIN_DIST_NOPATH) ) dist: libcapa capalogin qztotex allcapaid @(cd $(ARCH);tar cvvf ../../parser.bin.`uname`.$(VER).tar $(BIN_DIST_NOPATH) ) capadist: libcapa capalogin qztotex allcapaid @(cd $(ARCH);tar uvvf ../../capa.bin.`uname`.$(CAPA_VER).tar $(BIN_DIST_NOPATH) ) srcdist: @(cd ..;tar cvvf parser.src.$(VER).tar $(P_SRC_DIST) ) capasrcdist: @(cd ..;tar uvvf capa.src.$(CAPA_VER).tar $(P_SRC_DIST) ) # ---------------------------------------------------------------- objdir: -@ [ -d $(ARCH) ] || ( mkdir $(ARCH); chmod 755 $(ARCH) ) allobj: ( ofile="" ; \ cfile="" ; \ prefix="" ; \ CCFLAG="$(CFLAG) $(DEF)";\ if test $(ARCH) = "AIX" ; then CCFLAG="-O3 -DAIX $(DEF)"; fi;\ if test $(ARCH) = "OSF1" ; then CCFLAG="$(OSF1FLAG) $(DEF)"; fi;\ if test $(ARCH) = "NEXTSTEP" ; then CCFLAG="-arch i386 -arch m68k $(DEF)"; fi;\ if test $(ARCH) = "SunOS" ; then CCFLAG="-xO3 $(DEF)"; fi;\ if test $(ARCH) = "HP-UX" ; then CCFLAG="-O -Ae -Dhpux $(DEF)"; fi;\ if test $(ARCH) = "IRIX" ; then CCFLAG="-O2 -DIRIX $(DEF)"; fi;\ for prefix in $(PAR_SRC:.c=) out ; do \ if [ $${prefix} = "out" ] ; then break; fi ; \ cfile="$$prefix.c" ; \ ofile="./$(ARCH)/$$prefix.o" ; \ cmd="$(CC) $$CCFLAG -c $$cfile -o $$ofile"; \ echo $$cmd ; \ $$cmd ; \ done ) .c.o: echo "TARGET:"$@ echo "DEPEND:"$< capalogin : (CCFLAG="$(CFLAG) $(DEF)";\ if test $(ARCH) = "AIX" ; then CCFLAG="-O3 -DAIX $(DEF)"; fi;\ if test $(ARCH) = "OSF1" ; then CCFLAG="$(OSF1FLAG) $(DEF)"; fi;\ if test $(ARCH) = "SunOS" ; then CCFLAG="-xO3 $(DEF)"; fi;\ if test $(ARCH) = "HP-UX" ; then CCFLAG="-O -Ae -Dhpux $(DEF)"; fi;\ if test $(ARCH) = "NEXTSTEP" ; then CCFLAG="-arch i386 -arch m68k $(DEF)"; fi;\ if test $(ARCH) = "IRIX" ; then CCFLAG="-O2 -DIRIX $(DEF)"; fi;\ CMD="$(CC) $$CCFLAG -o $(ARCH)/$@ $@.c -L$(ARCH) -lcapa$(VER) $(S_FLAGS)"; \ echo $$CMD ;\ $$CMD ) $(STRIP) $(ARCH)/$@ allcapaid qzparse: (CCFLAG="$(CFLAG) $(DEF)";\ if test $(ARCH) = "AIX" ; then CCFLAG="-O3 -DAIX $(DEF)"; fi;\ if test $(ARCH) = "OSF1" ; then CCFLAG="$(OSF1FLAG) $(DEF)"; fi;\ if test $(ARCH) = "SunOS" ; then CCFLAG="-xO3 $(DEF)"; fi;\ if test $(ARCH) = "HP-UX" ; then CCFLAG="-O -Ae -Dhpux $(DEF)"; fi;\ if test $(ARCH) = "NEXTSTEP" ; then CCFLAG="-arch i386 -arch m68k $(DEF)"; fi;\ if test $(ARCH) = "IRIX" ; then CCFLAG="-O2 -DIRIX $(DEF)"; fi;\ CMD="$(CC) $$CCFLAG -o $(ARCH)/$@ $@.c -L$(ARCH) -lcapa$(VER) $(P_FLAGS)"; \ echo $$CMD ;\ $$CMD ) $(STRIP) $(ARCH)/$@ capahtml capasbin: (CCFLAG="$(CFLAG) $(DEF)";\ if test $(ARCH) = "AIX" ; then CCFLAG="-O3 -DAIX $(DEF)"; fi;\ if test $(ARCH) = "OSF1" ; then CCFLAG="$(OSF1FLAG) $(DEF)"; fi;\ if test $(ARCH) = "SunOS" ; then CCFLAG="-xO3 $(DEF)"; fi;\ if test $(ARCH) = "HP-UX" ; then CCFLAG="-O -Ae -Dhpux $(DEF)"; fi;\ if test $(ARCH) = "NEXTSTEP" ; then CCFLAG="-arch i386 -arch m68k $(DEF)"; fi;\ if test $(ARCH) = "IRIX" ; then CCFLAG="-O2 -DIRIX $(DEF)"; fi;\ if test $@ = capasbin ; then WDEFS="-DCAPA_WEB" ; fi; \ CMD="$(CC) $$CCFLAG -o $(ARCH)/$@ capaHTML.c $$WDEFS -L$(ARCH) -lcapa$(VER) $(P_FLAGS)"; \ echo $$CMD ;\ $$CMD ) $(STRIP) $(ARCH)/$@ cleanup: $(RM) -f *.o tags: etags *.[ch] depend: makedepend -- $(CFLAG) -- *.[ch] # ||<===================================================================>|| ## ========================================================================= # /usr/ccs/lib/liby.a(libmai.o) has a main, # /usr/ucblib/libcurses should come before .c file. ## =========================================================================