Annotation of capa/capa51/GUITools/Makefile, revision 1.15
1.1 albertel 1: # Makefile for quizzer and grader and manager
1.8 albertel 2: # Copyright (C) 1992-2000 Michigan State University
3: #
4: # The CAPA system is free software; you can redistribute it and/or
1.11 albertel 5: # modify it under the terms of the GNU General Public License as
1.8 albertel 6: # published by the Free Software Foundation; either version 2 of the
7: # License, or (at your option) any later version.
8: #
9: # The CAPA system is distributed in the hope that it will be useful,
10: # but WITHOUT ANY WARRANTY; without even the implied warranty of
11: # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
1.11 albertel 12: # General Public License for more details.
1.8 albertel 13: #
1.11 albertel 14: # You should have received a copy of the GNU General Public
1.8 albertel 15: # License along with the CAPA system; see the file COPYING. If not,
16: # write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
17: # Boston, MA 02111-1307, USA.
18: #
19: # As a special exception, you have permission to link this program
20: # with the TtH/TtM library and distribute executables, as long as you
21: # follow the requirements of the GNU GPL in regard to all of the
22: # software in the executable aside from TtH/TtM.
23:
24: # Guy Albertelli II 1998
1.1 albertel 25: # The target all creates TCL/TK dependent programs.
26: # The target all.2 creates stand alone programs.
27:
28: MAJORVER=\"5.1\"
1.15 ! albertel 29: QUIZZERMINORVER=\"4\"
! 30: GRADERMINORVER=\"4\"
! 31: MANAGERMINORVER=\"4\"
! 32: WEBPAGEMINORVER=\"4\"
1.1 albertel 33: UNAME=$(shell uname)
34:
35: QUIZZERDEFS=-DQUIZZERMINORVER=$(QUIZZERMINORVER)
36: GRADERDEFS=-DGRADERMINORVER=$(GRADERMINORVER)
37: MANAGERDEFS=-DMANAGERMINORVER=$(MANAGERMINORVER)
38: WEBPAGEDEFS=-DWEBPAGEMINORVER=$(WEBPAGEMINORVER)
39: DEFS=$(QUIZZERDEFS) $(GRADERDEFS) $(MANAGERDEFS) $(WEBPAGEDEFS) \
40: -DMAJORVER=$(MAJORVER) -DARCHSTR=\"$(UNAME)\" \
41: -DCOMPILE_DATE=\"`date +'%b-%d-%Y'`\"
42:
43: ifeq ($(UNAME),Linux)
44:
45: #CC=i486-linuxlibc1-gcc
46: #TCLTK=/home/albertel/tcltk/lib5/
47: #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
48: LIBPATH=-L/usr/lib/libc_debug/
49: CC=gcc
50: TCLTK=/home/albertel/tcltk/egcc
51: #TCLTK=/nfs/mileva/tcltk/egcc
1.6 albertel 52: #TCLTK=/mnt2/tcltk/egcc
53: ARCHLIB=-lfl $(TCLTK)/lib/libtk8.0.a $(TCLTK)/lib/libtcl8.0.a -lm $(LIBPATH) -lX11 -ldl
54: ARCHLIBTCL=-lfl $(TCLTK)/lib/libtcl8.0.a -lm $(LIBPATH) -ldl
1.1 albertel 55: LIBPATH=-L/usr/X11R6/lib/
1.4 albertel 56: ARCHCOPT=-g -Wall $(DEFS)
1.10 albertel 57: INC=-I. -I.. -I$(TCLTK)/include
1.1 albertel 58: TCLSH=$(TCLTK)/bin/tclsh8.0
59:
60: else
61: ifeq ($(UNAME),OSF1)
62:
63: CC=cc
64: ARCHCOPT=-O3 -Olimit 768 $(DEFS)
65: #ARCHCOPT=-g $(DEFS)
1.10 albertel 66: INC=-I. -I.. -I/usr/local/include
1.1 albertel 67: ARCHLIB=-ly -ll -lm -lX11 \
68: /usr/local/lib/libtk8.0.a /usr/local/lib/libtcl8.0.a
69: ARCHLIBTCL=-ll /usr/local/lib/libtcl8.0.a -lm $(LIBPATH)
70: LIBPATH=-L/usr/X11/lib
71: TCLSH=tclsh8.0
72:
73: else
74: ifeq ($(UNAME),SunOS)
75:
76: CC=cc
77: TCLTK=/home/capa/source/tcl8.0/unix
78: ARCHLIB=-ldl -ly -ll -lm -lX11 -lsocket -lnsl $(TCLTK)/lib/libtk8.0.a $(TCLTK)/lib/libtcl8.0.a
79: ARCHLIBTCL=-ldl -ly -ll -lm -lsocket -lnsl $(TCLTK)/lib/libtcl8.0.a
80: LIBPATH=-L/usr/openwin/lib
81: ARCHCOPT=-xO3 $(DEFS)
1.10 albertel 82: INC=-I. -I.. -I$(TCLTK)/include -I/usr/openwin/include
1.1 albertel 83: TCLSH=$(TCLTK)/bin/tclsh8.0
84:
85: else
86: ifeq ($(UNAME),IRIX)
87:
88: CC=cc
89: ARCHCOPT=-O3 $(DEFS)
1.10 albertel 90: INC=-I. -I.. -I/usr/people/capa/include
1.1 albertel 91: ARCHLIB=-ll -ltk8.0 -ltcl8.0 -lm -lX11
92: LIBPATH=-L/usr/people/capa/lib
93: TCLSH=/usr/people/capa/bin/tclsh
94: endif
95:
96: endif
97: endif
98: endif
99:
100: LIB=$(DBUGLIB) $(ARCHLIB)
101: LIBTCL=$(DBUGLIB) $(ARCHLIBTCL)
102: COPT=$(ARCHCOPT) $(DBUGDEF)
1.10 albertel 103: CAPALIB=../pProj/$(UNAME)/libcapa5.1.a
1.1 albertel 104:
105: QUIZZEROBJ=$(UNAME)/quizzer.o $(UNAME)/quizzer.init.o $(UNAME)/common.funct.o $(UNAME)/quizzer.funct.o $(CAPALIB)
106: QUIZZEROBJ2=$(UNAME)/quizzer.init.o $(UNAME)/quizzer.tcl.o $(UNAME)/common.funct.o $(UNAME)/quizzer.funct.o $(CAPALIB)
107:
108: GRADEROBJ=$(UNAME)/grader.o $(UNAME)/grader.init.o $(UNAME)/common.funct.o $(UNAME)/grader.funct.o $(CAPALIB)
109: GRADEROBJ2=$(UNAME)/grader.init.o $(UNAME)/grader.tcl.o $(UNAME)/common.funct.o $(UNAME)/grader.funct.o $(CAPALIB)
110:
111: MANAGERGENOBJ=$(UNAME)/manager.init.o $(UNAME)/common.funct.o $(UNAME)/manager.funct.o $(UNAME)/scorer.funct.o \
112: $(UNAME)/scorer.init.o $(UNAME)/scorertoset.o $(CAPALIB)
113: MANAGEROBJ=$(UNAME)/manager.o $(MANAGERGENOBJ)
114: MANAGEROBJ2=$(UNAME)/manager.tcl.o $(MANAGERGENOBJ)
115:
116: WEBPAGEOBJ=$(UNAME)/webpage.o $(UNAME)/webpage.init.o $(UNAME)/common.funct.o $(UNAME)/webpage.funct.o $(CAPALIB)
117: WEBPAGEOBJ2=$(UNAME)/webpage.init.o $(UNAME)/webpage.tcl.o $(UNAME)/common.funct.o $(UNAME)/webpage.funct.o $(CAPALIB)
118:
1.10 albertel 119: all: $(UNAME) $(UNAME)/quizzer $(UNAME)/grader $(UNAME)/manager $(UNAME)/webpage $(UNAME)/answers
1.1 albertel 120:
121: dmalloc:
122: $(MAKE) $(UNAME)/quizzer DBUGDEF="-DDMALLOC -DDMALLOC_FUNC_CHECK" DBUGLIB="-ldmalloc"
123:
1.10 albertel 124: all.2: $(UNAME) $(UNAME)/quizzer.2 $(UNAME)/grader.2 $(UNAME)/manager.2 $(UNAME)/webpage.2 $(UNAME)/answers
125:
126: $(UNAME):
127: mkdir $(UNAME)
1.1 albertel 128:
129: $(UNAME)/answers: $(UNAME)/answers.o
1.10 albertel 130: $(CC) $(COPT) -o $@ $< $(LIBPATH) $(CAPALIB) $(DBUGLIB) -lm -ll
1.1 albertel 131:
132: $(UNAME)/quizzer: $(QUIZZEROBJ)
133: $(CC) $(COPT) -o $@ $(QUIZZEROBJ) $(LIBPATH) $(LIB)
134:
135: $(UNAME)/quizzer.2: $(QUIZZEROBJ2)
136: $(CC) $(COPT) -o $@ $(QUIZZEROBJ2) $(LIBPATH) $(LIB)
137:
138: $(UNAME)/grader: $(GRADEROBJ)
139: $(CC) $(COPT) -o $@ $(GRADEROBJ) $(LIBPATH) $(LIB)
140:
141: $(UNAME)/grader.2: $(GRADEROBJ2)
142: $(CC) $(COPT) -o $@ $(GRADEROBJ2) $(LIBPATH) $(LIB)
143:
144: $(UNAME)/manager: $(MANAGEROBJ)
145: $(CC) $(COPT) -o $@ $(MANAGEROBJ) $(LIBPATH) $(LIB)
146:
147: $(UNAME)/manager.2: $(MANAGEROBJ2)
148: $(CC) $(COPT) -o $@ $(MANAGEROBJ2) $(LIBPATH) $(LIB)
149:
150: $(UNAME)/webpage: $(WEBPAGEOBJ)
151: $(CC) $(COPT) -o $@ $(WEBPAGEOBJ) $(LIBPATH) $(LIBTCL)
152:
153: $(UNAME)/webpage.2: $(WEBPAGEOBJ2)
154: $(CC) $(COPT) -o $@ $(WEBPAGEOBJ2) $(LIBPATH) $(LIBTCL)
155:
156: $(UNAME)/%.tcl.o: %.tcl.c
157: $(CC) $(COPT) $(INC) -c $< -o $@
158:
159: quizzer.tcl.c: quizzer.tcl $(UNAME)/tcl2c-qz common.tcl utils.tcl quizzer.templates.tcl
160: ./$(UNAME)/tcl2c-qz -qz -o $@ common.tcl utils.tcl quizzer.templates.tcl $<
161:
1.2 albertel 162: grader.tcl.c: grader.tcl $(UNAME)/tcl2c-qz common.tcl utils.tcl gradesubjective.tcl
1.1 albertel 163: ./$(UNAME)/tcl2c-qz -gd -o $@ common.tcl utils.tcl $<
164:
165: manager.tcl.c: manager.tcl $(UNAME)/tcl2c-qz common.tcl utils.tcl \
1.5 albertel 166: scorer.tcl classl.tcl capastats.tcl seating.tcl groupemail.tcl
1.1 albertel 167: ./$(UNAME)/tcl2c-qz -mn -o $@ common.tcl utils.tcl \
168: $< scorer.tcl classl.tcl capastats.tcl \
169: seating.tcl
170:
171: webpage.tcl.c: webpage.tcl $(UNAME)/tcl2c-qz
172: ./$(UNAME)/tcl2c-qz -wb -o $@ $<
173:
174: $(UNAME)/tcl2c-qz:
175: $(CC) $(COPT) $(INC) -o $@ tcl2c-qz.c $(LIBPATH) $(LIB)
176:
177: clean:
178: rm -f $(UNAME)/*.o *[~#] $(UNAME)/quizzer $(UNAME)/quizzer.2 quizzer.tcl.c \
179: $(UNAME)/grader $(UNAME)/grader.2 grader.tcl.c \
180: $(UNAME)/manager $(UNAME)/manager.2 manager.tcl.c \
181: $(UNAME)/webpage webpage.tcl.c \
182: $(UNAME)/answers $(UNAME)/tcl2c-qz
183:
184: managerclean:
185: rm -f $(UNAME)/*.o *[~#] $(UNAME)/manager $(UNAME)/manager.2 manager.tcl.c
186:
187: graderclean:
188: rm -f $(UNAME)/*.o *[~#] $(UNAME)/grader $(UNAME)/grader.2 grader.tcl.c
189:
190: quizzerclean:
191: rm -f $(UNAME)/*.o *[~#] $(UNAME)/quizzer $(UNAME)/quizzer.2 quizzer.tcl.c
192:
193: $(UNAME)/%.o: %.c
194: $(CC) $(COPT) $(INC) -c $< -o $@
195:
196:
197:
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>