|
|
1.1 root 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
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.