Commit | Line | Data |
---|---|---|
34753252 KB |
1 | # Makefile for creating dungeon |
2 | # Edit BIN DDIR and FFLAGS suitable for your system | |
3 | # Also, if you are running System V change the .F.o production | |
4 | # and production for dinit.F as indicated. | |
5 | # | |
6 | # need SUFFIXES for System V (doesn't grok .F) | |
7 | .SUFFIXES: .F | |
8 | .c.o: | |
9 | cc -c $(CFLAGS) $*.c | |
10 | .F.o: | |
11 | f77 -c $(FFLAGS) $*.F | |
12 | # For System V use the following production instead: | |
13 | # @/lib/cpp $(CPPFLAGS) $*.F > $*.f | |
14 | # f77 -c $(FFLAGS) $*.f | |
15 | # rm $*.f | |
16 | ||
17 | # define SYSV if running System V or V7 | |
18 | CFLAGS = -O # -DSYSV -g -i | |
19 | CPPFLAGS = -P | |
20 | # | |
21 | # f77 compiler flags for BSD Vax (and other similar machines) | |
22 | FOPTS = -q # -g -Ddebug | |
23 | # use -Nn650 for System V to increase default symbol table size | |
24 | # also, define SYSV and no -g flag (causes runtime errors) | |
25 | #FOPTS = -q -Nn650 -DSYSV # -Ddebug | |
26 | # f77 compiler flags for pdp (64K split I/D) | |
27 | #FOPTS = -q -I2 -L1 -i -DPDP # -Nn650 -Ddebug | |
28 | # use -DNOCC if system does not react on carriage control (e.g. Unix) | |
29 | FFLAGS = -O -DNOCC $(FOPTS) | |
30 | ||
31 | # flags for the loader | |
32 | LDFLAGS = # -s -g -v | |
33 | ||
34 | # Directory path for main program - default /usr/games | |
35 | BIN = /usr/games | |
36 | # Directory path for data files - default is /usr/games/lib/dunlib | |
37 | LIB = /usr/games/lib/dunlib | |
38 | DDIR = \'/usr/games/lib/dunlib | |
39 | DCDIR =\"/usr/games/lib/dunlib | |
40 | # Directory path for man page - default /usr/manl/man6 | |
41 | MDIR = /usr/manl/man6 | |
42 | # userid for wizard - allows invoking game debugging tool - default 0 | |
43 | WIZDEF = -DWIZARDID=320 | |
44 | ||
45 | HDRS = advers.h clock.h curxt.h debug.h exits.h files.h flags.h\ | |
46 | gamestate.h io.h mindex.h objects.h oflags.h oindex.h\ | |
47 | parser.h puzzle.h rflag.h rindex.h rooms.h screen.h state.h\ | |
48 | verbs.h villians.h vocab.h xpars.h xsrch.h | |
49 | ||
50 | FSRC = actors.F ballop.F clockr.F demons.F\ | |
51 | dgame.F dinit.F dmain.F dso1.F dso2.F\ | |
52 | dso3.F dso4.F dso5.F dso6.F dso7.F\ | |
53 | dsub.F dverb1.F dverb2.F gdt.F lightp.F\ | |
54 | nobjs.F np.F np1.F np2.F np3.F nrooms.F objcts.F\ | |
55 | rooms.F sobjs.F sverbs.F verbs.F villns.F | |
56 | ||
57 | CSRC = cinit.c cio.c cspeak.c decode.c lex.c listen.c rtim.c | |
58 | ||
59 | OBJS = actors.o ballop.o clockr.o demons.o\ | |
60 | dgame.o dinit.o dmain.o dso1.o dso2.o\ | |
61 | dso3.o dso4.o dso5.o dso6.o dso7.o\ | |
62 | dsub.o dverb1.o dverb2.o gdt.o lightp.o\ | |
63 | nobjs.o np.o np1.o np2.o np3.o nrooms.o objcts.o\ | |
64 | rooms.o rtim.o sobjs.o sverbs.o verbs.o villns.o | |
65 | ||
66 | PDPOBJS = cinit.o cio.o lex.o | |
67 | LISTEN = listen.o | |
68 | SPEAK = cspeak.o speak.o | |
69 | ||
70 | vax: dungeon dtext.dat | |
71 | pdp: dungpdp speak listen dtext.dat | |
72 | ||
73 | dungeon: $(OBJS) | |
74 | f77 -o dungeon $(OBJS) $(LDFLAGS) | |
75 | @echo done | |
76 | ||
77 | dungpdp: $(OBJS) $(PDPOBJS) | |
78 | f77 -i -s -o dungpdp $(OBJS) $(PDPOBJS) | |
79 | @echo done | |
80 | ||
81 | speak: $(SPEAK) | |
82 | f77 -i -s -o speak $(SPEAK) | |
83 | ||
84 | speak.o: speak.F | |
85 | f77 $(FFLAGS) -DDDIR=$(DDIR) -c speak.F | |
86 | # For System V use the following instead: | |
87 | # @/lib/cpp $(CPPFLAGS) speak.F > speak.f | |
88 | # f77 $(FFLAGS) -DDDIR=$(DDIR) -c speak.f | |
89 | # rm $*.f | |
90 | ||
91 | listen: $(LISTEN) | |
92 | cc $(CFLAGS) -o listen $(LISTEN) | |
93 | ||
94 | listen.o: listen.c | |
95 | cc $(CFLAGS) -DCINDEXFILE=$(DCDIR)/dindx.dat\" -c listen.c | |
96 | ||
97 | dinit.o: dinit.F | |
98 | f77 $(FFLAGS) -DDDIR=$(DDIR) $(WIZDEF) -c dinit.F | |
99 | # For System V use the following instead: | |
100 | # @/lib/cpp $(CPPFLAGS) dinit.F > dinit.f | |
101 | # f77 $(FFLAGS) -DDDIR=$(DDIR) $(WIZDEF) -c dinit.f | |
102 | # rm $*.f | |
103 | ||
104 | # uncomment the following for Suns to get around an optimizer bug | |
105 | # -P means partial optimization. | |
106 | #objcts.o: objcts.F | |
107 | # f77 $(FOPTS) -P -c objcts.F | |
108 | ||
109 | install-vax: vax | |
110 | cp dungeon $(BIN) | |
111 | -mkdir $(LIB) | |
112 | cp dindx.dat dtext.dat $(LIB) | |
113 | cp dungeon.6 $(MDIR)/dungeon.6 | |
114 | ||
115 | install-pdp: pdp | |
116 | cp dungeon.sh $(BIN) | |
117 | -mkdir $(LIB) | |
118 | cp dindx.dat dtext.dat rtext.dat dungpdp $(LIB) | |
119 | cp dungeon.6 $(MDIR)/dungeon.6 | |
120 | ||
121 | dtext.dat: | |
122 | ./maketxt.sh | |
123 | ||
124 | ||
125 | clean: | |
126 | -rm $(OBJS) Mk* core makedep eddep | |
127 | ||
128 | depend: | |
129 | grep '^#include' $(FSRC) $(CSRC) $(HDRS) | grep -v '<' | \ | |
130 | sed -e 's/:[^"]*"\([^"]*\)".*/: \1/' \ | |
131 | -e 's/\.c/.o/' \ | |
132 | -e 's/\.F/.o/' \ | |
133 | -e 's,../[a-zA-Z]*/,,' | \ | |
134 | awk ' { if ($$1 != prev) { print rec; rec = $$0; prev = $$1; } \ | |
135 | else { if (length(rec $$2) > 78) { print rec; rec = $$0; } \ | |
136 | else rec = rec " " $$2 } } \ | |
137 | END { print rec } ' > makedep | |
138 | echo '$$r makedep' >>eddep | |
139 | echo '/^# DO NOT DELETE THIS LINE/+1,$$d' >eddep | |
140 | echo '$$r makedep' >>eddep | |
141 | echo 'w' >>eddep | |
142 | cp Makefile Makefile.bak | |
143 | ed - Makefile < eddep | |
144 | rm eddep makedep | |
145 | ||
146 | # DO NOT DELETE THIS LINE -- make depend uses it | |
147 | ||
148 | actors.o: parser.h gamestate.h rooms.h rflag.h rindex.h xsrch.h objects.h | |
149 | actors.o: oflags.h oindex.h clock.h advers.h verbs.h flags.h gamestate.h | |
150 | actors.o: debug.h rooms.h rflag.h rindex.h objects.h oflags.h oindex.h | |
151 | actors.o: villians.h flags.h | |
152 | ballop.o: parser.h gamestate.h state.h rooms.h rflag.h curxt.h xpars.h | |
153 | ballop.o: objects.h oflags.h oindex.h clock.h verbs.h flags.h | |
154 | clockr.o: gamestate.h state.h rooms.h rflag.h rindex.h objects.h oflags.h | |
155 | clockr.o: oindex.h clock.h curxt.h xsrch.h villians.h advers.h flags.h | |
156 | clockr.o: gamestate.h objects.h oflags.h clock.h | |
157 | demons.o: parser.h gamestate.h objects.h oflags.h oindex.h villians.h advers.h | |
158 | demons.o: verbs.h flags.h gamestate.h parser.h objects.h oflags.h clock.h | |
159 | demons.o: advers.h verbs.h gamestate.h curxt.h xsrch.h objects.h oindex.h | |
160 | demons.o: villians.h advers.h rindex.h objects.h oindex.h villians.h flags.h | |
161 | dgame.o: parser.h gamestate.h state.h io.h rooms.h rindex.h objects.h oflags.h | |
162 | dgame.o: oindex.h advers.h verbs.h flags.h parser.h villians.h gamestate.h | |
163 | dgame.o: objects.h advers.h | |
164 | dinit.o: files.h parser.h gamestate.h state.h screen.h mindex.h io.h debug.h | |
165 | dinit.o: rooms.h rflag.h rindex.h exits.h curxt.h xpars.h objects.h oindex.h | |
166 | dinit.o: clock.h villians.h advers.h flags.h | |
167 | dmain.o: parser.h gamestate.h state.h screen.h puzzle.h io.h debug.h rooms.h | |
168 | dmain.o: rflag.h rindex.h exits.h curxt.h xpars.h xsrch.h objects.h oflags.h | |
169 | dmain.o: oindex.h clock.h villians.h advers.h verbs.h flags.h | |
170 | dso1.o: gamestate.h rooms.h rflag.h objects.h oflags.h oindex.h advers.h | |
171 | dso1.o: flags.h gamestate.h objects.h oflags.h advers.h objects.h | |
172 | dso2.o: gamestate.h rooms.h rflag.h objects.h oindex.h advers.h gamestate.h | |
173 | dso2.o: state.h advers.h flags.h gamestate.h state.h clock.h advers.h flags.h | |
174 | dso3.o: rooms.h exits.h curxt.h xpars.h objects.h oflags.h | |
175 | dso4.o: objects.h oflags.h objects.h oflags.h objects.h state.h advers.h | |
176 | dso4.o: parser.h objects.h oflags.h oindex.h villians.h flags.h | |
177 | dso5.o: parser.h objects.h oflags.h verbs.h rooms.h rflag.h objects.h oflags.h | |
178 | dso5.o: advers.h objects.h | |
179 | dso6.o: rooms.h rflag.h rindex.h rindex.h flags.h | |
180 | dso7.o: rooms.h rflag.h rindex.h objects.h oflags.h flags.h flags.h | |
181 | dsub.o: gamestate.h mindex.h io.h parser.h objects.h debug.h objects.h | |
182 | dsub.o: objects.h objects.h parser.h gamestate.h state.h io.h debug.h rooms.h | |
183 | dsub.o: rflag.h rindex.h objects.h oflags.h oindex.h advers.h flags.h advers.h | |
184 | dsub.o: flags.h parser.h gamestate.h screen.h rooms.h rflag.h xsrch.h objects.h | |
185 | dsub.o: advers.h verbs.h flags.h | |
186 | dverb1.o: parser.h gamestate.h state.h objects.h oflags.h advers.h parser.h | |
187 | dverb1.o: gamestate.h rindex.h objects.h oflags.h advers.h verbs.h parser.h | |
188 | dverb1.o: gamestate.h objects.h oflags.h advers.h verbs.h parser.h gamestate.h | |
189 | dverb1.o: objects.h oflags.h verbs.h | |
190 | dverb2.o: parser.h gamestate.h state.h screen.h puzzle.h rooms.h exits.h | |
191 | dverb2.o: objects.h clock.h villians.h advers.h flags.h parser.h gamestate.h | |
192 | dverb2.o: state.h screen.h puzzle.h rooms.h exits.h objects.h clock.h | |
193 | dverb2.o: villians.h advers.h flags.h parser.h gamestate.h rooms.h rflag.h | |
194 | dverb2.o: curxt.h xsrch.h objects.h oflags.h clock.h villians.h advers.h | |
195 | dverb2.o: flags.h gamestate.h parser.h puzzle.h rooms.h rindex.h exits.h | |
196 | dverb2.o: curxt.h xpars.h xsrch.h objects.h oflags.h oindex.h advers.h flags.h | |
197 | gdt.o: parser.h gamestate.h state.h screen.h puzzle.h io.h mindex.h debug.h | |
198 | gdt.o: rooms.h rindex.h exits.h objects.h oindex.h clock.h villians.h advers.h | |
199 | gdt.o: flags.h | |
200 | lightp.o: parser.h gamestate.h objects.h oflags.h oindex.h clock.h verbs.h | |
201 | lightp.o: flags.h | |
202 | nobjs.o: parser.h gamestate.h state.h screen.h puzzle.h rooms.h rflag.h | |
203 | nobjs.o: rindex.h objects.h oflags.h oindex.h clock.h villians.h advers.h | |
204 | nobjs.o: verbs.h flags.h gamestate.h parser.h verbs.h flags.h | |
205 | np.o: parser.h io.h debug.h parser.h xsrch.h parser.h debug.h | |
206 | np1.o: parser.h gamestate.h debug.h objects.h oindex.h advers.h verbs.h vocab.h | |
207 | np2.o: parser.h gamestate.h debug.h objects.h oflags.h advers.h vocab.h | |
208 | np2.o: objects.h oflags.h vocab.h | |
209 | np3.o: parser.h vocab.h debug.h vocab.h parser.h objects.h parser.h parser.h | |
210 | np3.o: gamestate.h state.h objects.h oflags.h advers.h parser.h gamestate.h | |
211 | np3.o: objects.h oflags.h advers.h | |
212 | nrooms.o: parser.h gamestate.h state.h io.h rooms.h rflag.h rindex.h objects.h | |
213 | nrooms.o: oflags.h oindex.h xsrch.h clock.h advers.h verbs.h flags.h | |
214 | nrooms.o: gamestate.h flags.h rindex.h flags.h | |
215 | objcts.o: parser.h gamestate.h state.h rooms.h rflag.h rindex.h objects.h | |
216 | objcts.o: oflags.h oindex.h clock.h advers.h verbs.h flags.h | |
217 | rooms.o: parser.h gamestate.h state.h rooms.h rflag.h rindex.h objects.h | |
218 | rooms.o: oflags.h oindex.h clock.h villians.h advers.h verbs.h flags.h | |
219 | sobjs.o: parser.h gamestate.h state.h rooms.h rflag.h rindex.h objects.h | |
220 | sobjs.o: oflags.h oindex.h clock.h villians.h advers.h verbs.h flags.h | |
221 | sverbs.o: parser.h gamestate.h state.h screen.h io.h rooms.h rflag.h rindex.h | |
222 | sverbs.o: exits.h curxt.h xpars.h xsrch.h objects.h oflags.h oindex.h clock.h | |
223 | sverbs.o: advers.h verbs.h flags.h | |
224 | verbs.o: parser.h gamestate.h state.h rooms.h rflag.h rindex.h xsrch.h | |
225 | verbs.o: objects.h oflags.h oindex.h advers.h verbs.h clock.h | |
226 | villns.o: parser.h gamestate.h objects.h oflags.h oindex.h verbs.h flags.h | |
227 | villns.o: parser.h gamestate.h objects.h oflags.h oindex.h verbs.h flags.h | |
228 | villns.o: parser.h gamestate.h rindex.h objects.h oflags.h oindex.h clock.h | |
229 | villns.o: villians.h verbs.h flags.h |