![]() ![]() | ![]() |
- fixed y2k bug in capadiscuss - fixed section handling bug in capadiscuss - fixed errors with invalid set.db in capastats - added MoveUp and MoveDown buttons to handling of due dates in quizzer - scorer no longer give error on first run - fixed bug in cgiutils, invalid dynamic allocation of memory (off by 1) - fixed sig figs on an answer of 0 - fixed allocation of memory for filename in subjective file creation
1: # Makefile for quizzer and grader and manager 2: # Copyright Guy Albertelli II 1998 3: # The target all creates TCL/TK dependent programs. 4: # The target all.2 creates stand alone programs. 5: 6: MAJORVER=\"5.1\" 7: QUIZZERMINORVER=\"0\" 8: GRADERMINORVER=\"0\" 9: MANAGERMINORVER=\"0\" 10: WEBPAGEMINORVER=\"0\" 11: UNAME=$(shell uname) 12: 13: QUIZZERDEFS=-DQUIZZERMINORVER=$(QUIZZERMINORVER) 14: GRADERDEFS=-DGRADERMINORVER=$(GRADERMINORVER) 15: MANAGERDEFS=-DMANAGERMINORVER=$(MANAGERMINORVER) 16: WEBPAGEDEFS=-DWEBPAGEMINORVER=$(WEBPAGEMINORVER) 17: DEFS=$(QUIZZERDEFS) $(GRADERDEFS) $(MANAGERDEFS) $(WEBPAGEDEFS) \ 18: -DMAJORVER=$(MAJORVER) -DARCHSTR=\"$(UNAME)\" \ 19: -DCOMPILE_DATE=\"`date +'%b-%d-%Y'`\" 20: 21: ifeq ($(UNAME),Linux) 22: 23: #CC=i486-linuxlibc1-gcc 24: #TCLTK=/home/albertel/tcltk/lib5/ 25: #ARCHLIB= $(TCLTK)/lib/libtk8.0.a $(TCLTK)/lib/libtcl8.0.a /usr/lib/libl.a $(LIBPATH) /usr/i486-linuxlibc1/lib/libX11.a /usr/lib/libdl.a /usr/lib/libm.a /usr/lib/libc.a 26: LIBPATH=-L/usr/lib/libc_debug/ 27: CC=gcc 28: TCLTK=/home/albertel/tcltk/egcc 29: #TCLTK=/nfs/mileva/tcltk/egcc 30: #TCLTK=/mnt2/egcc 31: ARCHLIB=-ll $(TCLTK)/lib/libtk8.0.a $(TCLTK)/lib/libtcl8.0.a -lm $(LIBPATH) -lX11 -ldl 32: ARCHLIBTCL=-ll $(TCLTK)/lib/libtcl8.0.a -lm $(LIBPATH) -ldl 33: LIBPATH=-L/usr/X11R6/lib/ 34: ARCHCOPT=-g -Wall $(DEFS) 35: INC=-I. -I$(TCLTK)/include 36: TCLSH=$(TCLTK)/bin/tclsh8.0 37: 38: else 39: ifeq ($(UNAME),OSF1) 40: 41: CC=cc 42: ARCHCOPT=-O3 -Olimit 768 $(DEFS) 43: #ARCHCOPT=-g $(DEFS) 44: INC=-I. -I/usr/local/include 45: ARCHLIB=-ly -ll -lm -lX11 \ 46: /usr/local/lib/libtk8.0.a /usr/local/lib/libtcl8.0.a 47: ARCHLIBTCL=-ll /usr/local/lib/libtcl8.0.a -lm $(LIBPATH) 48: LIBPATH=-L/usr/X11/lib 49: TCLSH=tclsh8.0 50: 51: else 52: ifeq ($(UNAME),SunOS) 53: 54: CC=cc 55: TCLTK=/home/capa/source/tcl8.0/unix 56: ARCHLIB=-ldl -ly -ll -lm -lX11 -lsocket -lnsl $(TCLTK)/lib/libtk8.0.a $(TCLTK)/lib/libtcl8.0.a 57: ARCHLIBTCL=-ldl -ly -ll -lm -lsocket -lnsl $(TCLTK)/lib/libtcl8.0.a 58: LIBPATH=-L/usr/openwin/lib 59: ARCHCOPT=-xO3 $(DEFS) 60: INC=-I. -I$(TCLTK)/include -I/usr/openwin/include 61: TCLSH=$(TCLTK)/bin/tclsh8.0 62: 63: else 64: ifeq ($(UNAME),IRIX) 65: 66: CC=cc 67: ARCHCOPT=-O3 $(DEFS) 68: INC=-I. -I/usr/people/capa/include 69: ARCHLIB=-ll -ltk8.0 -ltcl8.0 -lm -lX11 70: LIBPATH=-L/usr/people/capa/lib 71: TCLSH=/usr/people/capa/bin/tclsh 72: endif 73: 74: endif 75: endif 76: endif 77: 78: LIB=$(DBUGLIB) $(ARCHLIB) 79: LIBTCL=$(DBUGLIB) $(ARCHLIBTCL) 80: COPT=$(ARCHCOPT) $(DBUGDEF) 81: CAPALIB=Capa/$(UNAME)/libcapa5.1.a 82: 83: QUIZZEROBJ=$(UNAME)/quizzer.o $(UNAME)/quizzer.init.o $(UNAME)/common.funct.o $(UNAME)/quizzer.funct.o $(CAPALIB) 84: QUIZZEROBJ2=$(UNAME)/quizzer.init.o $(UNAME)/quizzer.tcl.o $(UNAME)/common.funct.o $(UNAME)/quizzer.funct.o $(CAPALIB) 85: 86: GRADEROBJ=$(UNAME)/grader.o $(UNAME)/grader.init.o $(UNAME)/common.funct.o $(UNAME)/grader.funct.o $(CAPALIB) 87: GRADEROBJ2=$(UNAME)/grader.init.o $(UNAME)/grader.tcl.o $(UNAME)/common.funct.o $(UNAME)/grader.funct.o $(CAPALIB) 88: 89: MANAGERGENOBJ=$(UNAME)/manager.init.o $(UNAME)/common.funct.o $(UNAME)/manager.funct.o $(UNAME)/scorer.funct.o \ 90: $(UNAME)/scorer.init.o $(UNAME)/scorertoset.o $(CAPALIB) 91: MANAGEROBJ=$(UNAME)/manager.o $(MANAGERGENOBJ) 92: MANAGEROBJ2=$(UNAME)/manager.tcl.o $(MANAGERGENOBJ) 93: 94: WEBPAGEOBJ=$(UNAME)/webpage.o $(UNAME)/webpage.init.o $(UNAME)/common.funct.o $(UNAME)/webpage.funct.o $(CAPALIB) 95: WEBPAGEOBJ2=$(UNAME)/webpage.init.o $(UNAME)/webpage.tcl.o $(UNAME)/common.funct.o $(UNAME)/webpage.funct.o $(CAPALIB) 96: 97: all: $(UNAME)/quizzer $(UNAME)/grader $(UNAME)/manager $(UNAME)/webpage $(UNAME)/answers 98: 99: dmalloc: 100: $(MAKE) $(UNAME)/quizzer DBUGDEF="-DDMALLOC -DDMALLOC_FUNC_CHECK" DBUGLIB="-ldmalloc" 101: 102: all.2: $(UNAME)/quizzer.2 $(UNAME)/grader.2 $(UNAME)/manager.2 $(UNAME)/webpage.2 $(UNAME)/answers 103: 104: $(UNAME)/answers: $(UNAME)/answers.o 105: $(CC) $(COPT) -o $@ $< $(LIBPATH) $(CAPALIB) $(DBUGLIB) -lm -ll 106: 107: $(UNAME)/quizzer: $(QUIZZEROBJ) 108: $(CC) $(COPT) -o $@ $(QUIZZEROBJ) $(LIBPATH) $(LIB) 109: 110: $(UNAME)/quizzer.2: $(QUIZZEROBJ2) 111: $(CC) $(COPT) -o $@ $(QUIZZEROBJ2) $(LIBPATH) $(LIB) 112: 113: $(UNAME)/grader: $(GRADEROBJ) 114: $(CC) $(COPT) -o $@ $(GRADEROBJ) $(LIBPATH) $(LIB) 115: 116: $(UNAME)/grader.2: $(GRADEROBJ2) 117: $(CC) $(COPT) -o $@ $(GRADEROBJ2) $(LIBPATH) $(LIB) 118: 119: $(UNAME)/manager: $(MANAGEROBJ) 120: $(CC) $(COPT) -o $@ $(MANAGEROBJ) $(LIBPATH) $(LIB) 121: 122: $(UNAME)/manager.2: $(MANAGEROBJ2) 123: $(CC) $(COPT) -o $@ $(MANAGEROBJ2) $(LIBPATH) $(LIB) 124: 125: $(UNAME)/webpage: $(WEBPAGEOBJ) 126: $(CC) $(COPT) -o $@ $(WEBPAGEOBJ) $(LIBPATH) $(LIBTCL) 127: 128: $(UNAME)/webpage.2: $(WEBPAGEOBJ2) 129: $(CC) $(COPT) -o $@ $(WEBPAGEOBJ2) $(LIBPATH) $(LIBTCL) 130: 131: $(UNAME)/%.tcl.o: %.tcl.c 132: $(CC) $(COPT) $(INC) -c $< -o $@ 133: 134: quizzer.tcl.c: quizzer.tcl $(UNAME)/tcl2c-qz common.tcl utils.tcl quizzer.templates.tcl 135: ./$(UNAME)/tcl2c-qz -qz -o $@ common.tcl utils.tcl quizzer.templates.tcl $< 136: 137: grader.tcl.c: grader.tcl $(UNAME)/tcl2c-qz common.tcl utils.tcl gradesubjective.tcl 138: ./$(UNAME)/tcl2c-qz -gd -o $@ common.tcl utils.tcl $< 139: 140: manager.tcl.c: manager.tcl $(UNAME)/tcl2c-qz common.tcl utils.tcl \ 141: scorer.tcl classl.tcl capastats.tcl seating.tcl 142: ./$(UNAME)/tcl2c-qz -mn -o $@ common.tcl utils.tcl \ 143: $< scorer.tcl classl.tcl capastats.tcl \ 144: seating.tcl 145: 146: webpage.tcl.c: webpage.tcl $(UNAME)/tcl2c-qz 147: ./$(UNAME)/tcl2c-qz -wb -o $@ $< 148: 149: $(UNAME)/tcl2c-qz: 150: $(CC) $(COPT) $(INC) -o $@ tcl2c-qz.c $(LIBPATH) $(LIB) 151: 152: clean: 153: rm -f $(UNAME)/*.o *[~#] $(UNAME)/quizzer $(UNAME)/quizzer.2 quizzer.tcl.c \ 154: $(UNAME)/grader $(UNAME)/grader.2 grader.tcl.c \ 155: $(UNAME)/manager $(UNAME)/manager.2 manager.tcl.c \ 156: $(UNAME)/webpage webpage.tcl.c \ 157: $(UNAME)/answers $(UNAME)/tcl2c-qz 158: 159: managerclean: 160: rm -f $(UNAME)/*.o *[~#] $(UNAME)/manager $(UNAME)/manager.2 manager.tcl.c 161: 162: graderclean: 163: rm -f $(UNAME)/*.o *[~#] $(UNAME)/grader $(UNAME)/grader.2 grader.tcl.c 164: 165: quizzerclean: 166: rm -f $(UNAME)/*.o *[~#] $(UNAME)/quizzer $(UNAME)/quizzer.2 quizzer.tcl.c 167: 168: $(UNAME)/%.o: %.c 169: $(CC) $(COPT) $(INC) -c $< -o $@ 170: 171: 172: