|
|
1.1 root 1: # Hack or Quest Makefile.
2:
3: # on some systems the termcap library is in -ltermcap
4: TERMLIB = -ltermlib
5:
6:
7: # make hack
8: GAME = quest
9: GAMEDIR = /usr/games/lib/questdir
10: CFLAGS = -g -DQUEST
11: HACKCSRC = hack.Decl.c\
12: hack.apply.c hack.bones.c hack.c hack.cmd.c hack.do.c\
13: hack.do_name.c hack.do_wear.c hack.dog.c hack.eat.c hack.end.c\
14: hack.engrave.c hack.fight.c hack.invent.c hack.ioctl.c\
15: hack.lev.c hack.main.c hack.makemon.c hack.mhitu.c\
16: hack.mklev.c hack.mkmaze.c hack.mkobj.c hack.mkshop.c\
17: hack.mon.c hack.monst.c hack.o_init.c hack.objnam.c\
18: hack.options.c hack.pager.c hack.potion.c hack.pri.c\
19: hack.read.c hack.rip.c hack.rumors.c hack.save.c\
20: hack.search.c hack.shk.c hack.shknam.c hack.steal.c\
21: hack.termcap.c hack.timeout.c hack.topl.c\
22: hack.track.c hack.trap.c hack.tty.c hack.unix.c\
23: hack.u_init.c hack.vault.c\
24: hack.wield.c hack.wizard.c hack.worm.c hack.worn.c hack.zap.c\
25: hack.version.c rnd.c alloc.c
26:
27: CSOURCES = $(HACKCSRC) makedefs.c
28:
29: HSOURCES = hack.h hack.mfndpos.h config.h\
30: def.edog.h def.eshk.h def.flag.h def.func_tab.h def.gold.h\
31: def.mkroom.h\
32: def.monst.h def.obj.h def.objclass.h def.objects.h\
33: def.permonst.h def.rm.h def.trap.h def.wseg.h
34:
35: SOURCES = $(CSOURCES) $(HSOURCES)
36:
37: AUX = data help hh rumors hack.6 hack.sh
38:
39: DISTR = $(SOURCES) $(AUX) READ_ME Makefile date.h hack.onames.h
40:
41: HOBJ = hack.Decl.o hack.apply.o hack.bones.o hack.o hack.cmd.o hack.do.o\
42: hack.do_name.o hack.do_wear.o hack.dog.o hack.eat.o hack.end.o\
43: hack.engrave.o hack.fight.o hack.invent.o hack.ioctl.o\
44: hack.lev.o hack.main.o hack.makemon.o hack.mhitu.o hack.mklev.o\
45: hack.mkmaze.o hack.mkobj.o hack.mkshop.o hack.mon.o\
46: hack.monst.o hack.o_init.o hack.objnam.o hack.options.o\
47: hack.pager.o hack.potion.o hack.pri.o\
48: hack.read.o hack.rip.o hack.rumors.o hack.save.o\
49: hack.search.o hack.shk.o hack.shknam.o hack.steal.o\
50: hack.termcap.o hack.timeout.o hack.topl.o\
51: hack.track.o hack.trap.o\
52: hack.tty.o hack.unix.o hack.u_init.o hack.vault.o hack.wield.o\
53: hack.wizard.o hack.worm.o hack.worn.o hack.zap.o\
54: hack.version.o rnd.o alloc.o
55:
56: $(GAME): $(HOBJ) Makefile
57: @echo "Loading ..."
58: @ld -X -o $(GAME) /lib/crt0.o $(HOBJ) $(TERMLIB) -lc
59:
60: all: $(GAME) lint
61: @echo "Done."
62:
63: makedefs: makedefs.c
64: cc -o makedefs makedefs.c
65:
66:
67: hack.onames.h: makedefs def.objects.h
68: makedefs > hack.onames.h
69:
70: lint:
71: # lint cannot have -p here because (i) capitals are meaningful:
72: # [Ww]izard, (ii) identifiers may coincide in the first six places:
73: # doweararm() versus dowearring().
74: # _flsbuf comes from <stdio.h>, a bug in the system libraries.
75: @echo lint -axbh -DLINT ...
76: @lint -axbh -DLINT $(HACKCSRC) | sed '/_flsbuf/d'
77:
78:
79: diff:
80: @- for i in $(SOURCES) $(AUX) ; do \
81: cmp -s $$i $D/$$i || \
82: ( echo diff $D/$$i $$i ; diff $D/$$i $$i ; echo ) ; done
83:
84: distribution: Makefile
85: @- for i in READ_ME $(SOURCES) $(AUX) Makefile date.h hack.onames.h\
86: ; do \
87: cmp -s $$i $D/$$i || \
88: ( echo cp $$i $D ; cp $$i $D ) ; done
89: # the distribution directory also contains the empty files perm and record.
90:
91:
92: install:
93: rm -f $(GAMEDIR)/$(GAME)
94: cp $(GAME) $(GAMEDIR)/$(GAME)
95: chmod 04511 $(GAMEDIR)/$(GAME)
96: rm -f $(GAMEDIR)/bones*
97: # cp hack.6 /usr/man/man6
98:
99: clean:
100: rm -f *.o
101:
102:
103: depend:
104: # For the moment we are lazy and disregard /usr/include files because
105: # the sources contain them conditionally. Perhaps we should use cpp.
106: # ( /bin/grep '^#[ ]*include' $$i | sed -n \
107: # -e 's,<\(.*\)>,"/usr/include/\1",' \
108: #
109: for i in ${CSOURCES}; do \
110: ( /bin/grep '^#[ ]*include[ ]*"' $$i | sed -n \
111: -e 's/[^"]*"\([^"]*\)".*/\1/' \
112: -e H -e '$$g' -e '$$s/\n/ /g' \
113: -e '$$s/.*/'$$i': &/' -e '$$s/\.c:/.o:/p' \
114: >> makedep); done
115: for i in ${HSOURCES}; do \
116: ( /bin/grep '^#[ ]*include[ ]*"' $$i | sed -n \
117: -e 's/[^"]*"\([^"]*\)".*/\1/' \
118: -e H -e '$$g' -e '$$s/\n/ /g' \
119: -e '$$s/.*/'$$i': &\
120: touch '$$i/p \
121: >> makedep); done
122: @echo '/^# DO NOT DELETE THIS LINE/+2,$$d' >eddep
123: @echo '$$r makedep' >>eddep
124: @echo 'w' >>eddep
125: @cp Makefile Makefile.bak
126: ed - Makefile < eddep
127: @rm -f eddep makedep
128: @echo '# DEPENDENCIES MUST END AT END OF FILE' >> Makefile
129: @echo '# IF YOU PUT STUFF HERE IT WILL GO AWAY' >> Makefile
130: @echo '# see make depend above' >> Makefile
131: - diff Makefile Makefile.bak
132: @rm -f Makefile.bak
133:
134: # DO NOT DELETE THIS LINE
135:
136: hack.Decl.o: hack.h def.mkroom.h
137: hack.apply.o: hack.h def.edog.h def.mkroom.h
138: hack.bones.o: hack.h
139: hack.o: hack.h
140: hack.cmd.o: hack.h def.func_tab.h
141: hack.do.o: hack.h
142: hack.do_name.o: hack.h
143: hack.do_wear.o: hack.h
144: hack.dog.o: hack.h hack.mfndpos.h def.edog.h def.mkroom.h
145: hack.eat.o: hack.h
146: hack.end.o: hack.h
147: hack.engrave.o: hack.h
148: hack.fight.o: hack.h
149: hack.invent.o: hack.h def.wseg.h
150: hack.ioctl.o: config.h
151: hack.lev.o: hack.h def.mkroom.h def.wseg.h
152: hack.main.o: hack.h
153: hack.makemon.o: hack.h
154: hack.mhitu.o: hack.h
155: hack.mklev.o: hack.h def.mkroom.h
156: hack.mkmaze.o: hack.h def.mkroom.h
157: hack.mkobj.o: hack.h
158: hack.mkshop.o: hack.h def.mkroom.h def.eshk.h
159: hack.mon.o: hack.h hack.mfndpos.h
160: hack.monst.o: hack.h def.eshk.h
161: hack.o_init.o: config.h def.objects.h hack.onames.h
162: hack.objnam.o: hack.h
163: hack.options.o: config.h hack.h
164: hack.pager.o: hack.h
165: hack.potion.o: hack.h
166: hack.pri.o: hack.h def.wseg.h
167: hack.read.o: hack.h
168: hack.rip.o: hack.h
169: hack.rumors.o: hack.h
170: hack.save.o: hack.h
171: hack.search.o: hack.h
172: hack.shk.o: hack.h hack.mfndpos.h def.mkroom.h def.eshk.h
173: hack.shknam.o: hack.h
174: hack.steal.o: hack.h
175: hack.termcap.o: config.h def.flag.h
176: hack.timeout.o: hack.h
177: hack.topl.o: hack.h
178: hack.track.o: hack.h
179: hack.trap.o: hack.h def.mkroom.h
180: hack.tty.o: hack.h
181: hack.unix.o: hack.h def.mkroom.h
182: hack.u_init.o: hack.h
183: hack.vault.o: hack.h def.mkroom.h
184: hack.wield.o: hack.h
185: hack.wizard.o: hack.h
186: hack.worm.o: hack.h def.wseg.h
187: hack.worn.o: hack.h
188: hack.zap.o: hack.h
189: hack.version.o: date.h
190: hack.h: config.h def.objclass.h def.monst.h def.gold.h def.trap.h def.obj.h def.flag.h def.rm.h def.permonst.h hack.onames.h
191: touch hack.h
192: def.objects.h: config.h def.objclass.h
193: touch def.objects.h
194: # DEPENDENCIES MUST END AT END OF FILE
195: # IF YOU PUT STUFF HERE IT WILL GO AWAY
196: # see make depend above
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.