|
|
1.1 root 1: #
2: # Hunt
3: # Copyright (c) 1985 Conrad C. Huang, Gregory S. Couch, Kenneth C.R.C. Arnold
4: # San Francisco, California
5: #
6: # Copyright (c) 1985 Regents of the University of California.
7: # All rights reserved. The Berkeley software License Agreement
8: # specifies the terms and conditions for redistribution.
9: #
10: SHELL= /bin/sh
11: HDR= hunt.h bsd.h
12: DSRC= answer.c driver.c draw.c execute.c expl.c makemaze.c \
13: shots.c terminal.c extern.c pathname.c \
14: faketalk.c ctl.c ctl_transact.c get_names.c
15: DOBJ= answer.o driver.o draw.o execute.o expl.o makemaze.o \
16: shots.o terminal.o extern.o \
17: faketalk.o ctl.o ctl_transact.o get_names.o
18: PSRC= hunt.c connect.c playit.c pathname.c otto.c
19: POBJ= hunt.o connect.o playit.o otto.o
20: DSRC1= answer.c driver.c draw.c execute.c expl.c makemaze.c
21: DSRC2= shots.c terminal.c extern.c faketalk.c \
22: ctl.c ctl_transact.c get_names.c
23:
24: #
25: # Installation destinations
26: BINDIR= /usr/games
27: LIBDIR= /usr/games/lib
28: MANDIR= /usr/man/man6
29:
30: #
31: # Game parameter flags are:
32: # RANDOM Include doors which disperse shots randomly
33: # REFLECT Include diagonal walls that reflect shots
34: # MONITOR Include code for watching the game from the sidelines
35: # OOZE Include slime shots
36: # FLY Make people fly when walls regenerate under them
37: # VOLCANO Include occasional large slime explosions
38: # DRONE Include occasional drone shots
39: # BOOTS Include boots (which makes you immune to slime)
40: # OTTO Reserved for CGL automatic player
41: #
42: GAME_PARAM= -DRANDOM -DREFLECT -DMONITOR -DOOZE -DFLY -DBOOTS -DOTTO
43:
44: #
45: # System parameter flags are:
46: # DEBUG Don't trust everything in the code
47: # INTERNET Use the Internet domain IPC instead of UNIX domain
48: # LOG Use syslog error-logging in driver (needs SYSLOG_42 or
49: # or SYSLOG_43)
50: # OLDIPC Use 4.1a internet system calls (must also define
51: # INTERNET)
52: # TERMINFO Use terminfo instead of termcap
53: # TALK_42 Support fake 4.2 BSD talk requests
54: # TALK_43 Support fake 4.2 BSD talk requests
55: # SYSLOG_42 Use 4.2 BSD syslog(3)
56: # SYSLOG_43 Use 4.2 BSD syslog(3)
57: # LOG Use syslog(3) for logging errors
58: # BSD_RELEASE Which version of BSD distribution
59: # 42 is 4.2BSD (implies TALK_42, SYSLOG_42)
60: # 43 is 4.3BSD (implies BROADCAST, TALK_43, SYSLOG_43)
61: # NOCURSES Don't use curses to redraw the screen
62: # HPUX A Hewlett-Packard special
63: #
64: # NOTE: if you change the domain (INTERNET vs UNIX) then "make newdomain"
65: #
66: DEFS_BSD43= -DINTERNET -DLOG -DBSD_RELEASE=43
67: DEFS_BSD44= -DINTERNET -DLOG -DBSD_RELEASE=44
68: DEFS_SUN= -DINTERNET -DLOG -DBSD_RELEASE=42 -DBROADCAST
69: DEFS_SUN4_0= -DINTERNET -DLOG -DTALK_42 -DSYSLOG_43 -DBROADCAST
70: DEFS_ULTRIX= -DINTERNET -DLOG -DBSD_RELEASE=42
71: DEFS_HPUX= -DINTERNET -DTERMINFO -DNOCURSES -DHPUX
72: DEFS_CONVEX= -DINTERNET -DBSD_RELEASE=42
73: DEFS_SGI= -DINTERNET -DLOG -DTERMINFO -DSYSLOG_43 -DBROADCAST -DNOCURSES
74: DEFS_NEXT= $(DEFS_43) -bsd -traditional -Dconst=
75:
76: #
77: # The following flags are used for system specific compilation arguments.
78: # Change them to include the appropriate arguments. For example, on SGI
79: # machines, they should look like
80: # SYSCFLAGS= -I/usr/include/bsd
81: # SYSLIBS= -lbsd
82: #
83: SYSCFLAGS=
84: SYSLIBS=
85:
86: #
87: # Generic definitions
88: #
89: DEFS= $(GAME_PARAM) $(DEFS_BSD44)
90: CFLAGS= -O $(SYSCFLAGS) $(DEFS)
91:
92: #
93: # Normal targets
94: #
95: all: hunt huntd
96:
97: hunt: $(POBJ) pathname.o
98: $(CC) -o hunt $(POBJ) pathname.o -lcurses -ltermcap $(SYSLIBS)
99:
100: huntd: $(DOBJ) pathname.o
101: $(CC) -o huntd $(DOBJ) pathname.o $(SYSLIBS)
102:
103: debug: hunt.dbg huntd.dbg
104:
105: hunt.dbg: $(POBJ) pathname.dbg.o
106: $(CC) -o hunt.dbg $(POBJ) pathname.dbg.o -lcurses -ltermcap $(SYSLIBS)
107:
108: huntd.dbg: $(DOBJ) pathname.dbg.o
109: $(CC) -o huntd.dbg $(DOBJ) pathname.dbg.o $(SYSLIBS)
110:
111: #
112: # Source distribution in three files to a particular person
113: #
114: mail.msg:
115: -@if test x${MAIL} = x ; then\
116: /bin/echo MAIL not set ;\
117: fi
118: mail.quit:
119: @test x$mail != x
120: mail: mail.msg mail.quit
121: shar -a README hunt.6 huntd.6 Makefile ${HDR} ${PSRC} |\
122: Mail -s "Hunt (part 1 of 3)" ${MAIL}
123: shar -a ${DSRC1} | Mail -s "Hunt (part 2 of 3)" ${MAIL}
124: shar -a ${DSRC2} talk_ctl.h | Mail -s "Hunt (part 3 of 3)" ${MAIL}
125:
126: #
127: # Single file source distribution
128: #
129: shar:
130: shar -c README hunt.6 huntd.6 Makefile ${HDR} ${PSRC} ${DSRC1} \
131: ${DSRC2} talk_ctl.h | compress -c > hunt.shar.Z
132:
133: #
134: # System installation
135: #
136: install: all
137: -cmp -s huntd ${LIBDIR}/huntd || install -c huntd ${LIBDIR}/huntd
138: -cmp -s hunt ${BINDIR}/hunt || install -c hunt ${BINDIR}/hunt
139: -cmp -s hunt.6 ${MANDIR}/hunt.6 \
140: || install -m 444 -c hunt.6 ${MANDIR}/hunt.6
141: -cmp -s huntd.6 ${MANDIR}/huntd.6 \
142: || install -m 444 -c huntd.6 ${MANDIR}/huntd.6
143:
144: #
145: # Object file dependencies
146: #
147: $(POBJ): $(HDR)
148:
149: $(DOBJ): $(HDR)
150: $(CC) $(CFLAGS) -c $*.c
151:
152: pathname.o: pathname.c Makefile
153: $(CC) $(CFLAGS) -DHUNTD=\"${LIBDIR}/huntd\" -c pathname.c
154:
155: pathname.dbg.o: pathname.c
156: @echo $(CC) $(CFLAGS) -DDEBUG -c pathname.c -o pathname.dbg.o
157: @rm -f x.c
158: @ln pathname.c x.c
159: @$(CC) $(CFLAGS) -DDEBUG -c x.c
160: @mv x.o pathname.dbg.o
161: @rm -f x.c
162:
163: #
164: # Miscellaneous functions
165: #
166: lint: driver.lint hunt.lint
167:
168: driver.lint: $(DSRC)
169: lint $(DEFS) $(DSRC) 2>&1 > driver.lint
170:
171: hunt.lint: $(PSRC)
172: lint $(DEFS) $(PSRC) -lcurses 2>&1 > hunt.lint
173:
174: tags: $(DSRC) $(PSRC)
175: ctags $(DSRC) $(PSRC)
176:
177: clean:
178: rm -f $(POBJ) $(DOBJ) pathname.o pathname.dbg.o errs hunt.dbg \
179: huntd.dbg hunt huntd hunt.lint driver.lint hunt.shar.Z
180:
181: newdomain:
182: rm hunt.o extern.o driver.o
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.