Annotation of capa/capa51/GUITools/Makefile, revision 1.4
1.1 albertel 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
1.3 albertel 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
1.1 albertel 33: LIBPATH=-L/usr/X11R6/lib/
1.4 ! albertel 34: ARCHCOPT=-g -Wall $(DEFS)
1.1 albertel 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
1.3 albertel 105: $(CC) $(COPT) -o $@ $< $(LIBPATH) $(CAPALIB) $(DBUGLIB) -lm -ll
1.1 albertel 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:
1.2 albertel 137: grader.tcl.c: grader.tcl $(UNAME)/tcl2c-qz common.tcl utils.tcl gradesubjective.tcl
1.1 albertel 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:
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>