|
|
1.1 root 1: # Makefile for Phantasia 3.3.2
2: #
3: # To create game:
4: #
5: # 1) Set up a directory where the game and its support files will live.
6: # (It is suggested that the source be kept somewhere else.)
7: #
8: # 2) Set up the variables in Makefile CAREFULLY to reflect your
9: # particular situation.
10: #
11: # 3) Check out ok_to_play() at the end of main.c if you want to include
12: # code to restrict access at certain times.
13: #
14: # 4) 'make install' and sit back and watch.
15: #
16: # NOTE: 'setup' MUST be executed before trying to run 'phantasia'.
17: # The install procedure does this for you.
18: #
19: #
20: # To convert from 3.3.1 or 3.3.1+ to 3.3.2:
21: #
22: # 1) 'make convert' (3.3.1+: 'make PLUS=-DPHANTPLUS convert')
23: #
24: # 2) Move 'newcharacs' to 'characs'.
25: #
26:
27: RM = -rm
28: SHAR = /d2/estes/bin/shar
29: # Tell 'make' to use /bin/sh for all commands.
30: SHELL = /bin/sh
31:
32: # PLOTDEVICE is used for plotting the map.
33: # Change as appropriate.
34: PLOTDEVICE = > /dev/tty
35:
36: # Add '-ljobs' to LDFLAGS if 4.1bsd; add -ltermlib if not SVR2.
37: # Need separate i/d space on small machines.
38: # May need '-f' on machines without floating point hardware.
39: LIBS= -lm -lcurses -ltermlib
40:
41: # DEST is where the program and its support files reside
42: DEST = /usr/games/lib/phantasia
43: DESTR = /usr/games
44:
45: MDIR= /usr/man/cat6
46:
47: .SUFFIXES: .6 .0
48:
49:
50: # The following are program constants which are implementation dependent.
51: #
52: # DEST is passed on. Note that there is no closing quote here.
53: # WIZARD is the login of the one who will clean up things.
54: # UID is the uid of game wizard.
55: # define OK_TO_PLAY to restrict playing access at certain times.
56: # Also see function ok_to_play() in main.c, and tailor to your own needs.
57: # define ENEMY to include code for checking of a 'hit list' of resricted
58: # accounts. The list of logins goes in the file 'enemy'.
59: # SHELL is the default shell for shell escapes. If SHELL is not defined,
60: # shell escapes are not enabled.
61: # define BSD41 for 4.1bsd
62: # define BSD42 for 4.2bsd
63: # define SYS3 for System III, or similar (like Version 7)
64: # define SYS5 for System V
65: # If you don't have 'strchr()', put '-Dstrchr=index' below.
66: # May need '-I/usr/include/sys' for 4.2bsd.
67: CFLAGS = -O \
68: -DDEST=\"${DEST} \
69: -DDESTR=\"${DESTR} \
70: -DWIZARD=\"root\" \
71: -DUID=0 \
72: -DENEMY \
73: -DBSD42
74:
75: SRCS= main.c fight.c io.c interplayer.c gamesupport.c misc.c phantglobs.c
76: OBJS= main.o fight.o io.o interplayer.o gamesupport.o misc.o phantglobs.o
77: HFILES = phantdefs.h phantstruct.h macros.h include.h
78: LIBC= /lib/libc.a
79:
80: all: phantasia setup phantasia.0
81:
82: # Make the game.
83: phantasia: ${OBJS} ${LIBC}
84: ${CC} ${OBJS} -o $@ ${LIBS}
85:
86: ${OBJS}: ${HFILES}
87:
88: # Make the initialization program.
89: setup: phantglobs.o setup.o monsters.asc ${LIBC}
90: ${CC} phantglobs.o setup.o -o $@ ${LIBS}
91:
92: setup.o: ${HFILES}
93:
94: # Make documentation.
95: # The flags below on tbl and nroff are to make a line printable version.
96: .6.0:
97: tbl -TX phantasia.6 | /usr/man/manroff > phantasia.0
98:
99: # Install game and documentation. Initialize.
100: install: FRC
101: -[ -d ${DESTDIR}/usr/games/lib/phantasia ] || mkdir ${DESTDIR}/usr/games/lib/phantasia
102: chmod 700 /usr/games/lib/phantasia
103: chown games.bin /usr/games/lib/phantasia
104: install -s -o games -g bin -m 4700 phantasia ${DESTDIR}/usr/games/hide
105: (cd ${DESTDIR}/usr/games; rm -f phantasia; ln -s dm phantasia; chown games.bin phantasia)
106: install -c -o games -g bin -m 400 phantasia.0 ${DESTDIR}/usr/games/lib/phantasia/phant.help
107: install -c -o bin -g bin -m 444 phantasia.0 ${DESTDIR}${MDIR}
108: ./setup
109: chown games.bin /usr/games/lib/phantasia/*
110:
111: # Make Phantasia map.
112: # Change the map commands reflect your installation.
113: # Pre-System III installations may use 'plot' instead of 'tplot'.
114: map: map.c
115: cc -O map.c -lplot -o map
116: map | tplot -t4014 ${PLOTDEVICE}
117:
118: # Convert old character file to new format.
119: # 'convert' is meant to be run only once.
120: # PLUS = PHANTPLUS for conversion from 3.3.1+.
121: convert: convert.c oldplayer.h phantstruct.h
122: ${CC} ${CFLAGS} ${PLUS} convert.c ${LDFLAGS} -o convert
123: convert
124: @echo "New data is in newcharacs."
125:
126: # Clean up directory after installation.
127: clean:
128: ${RM} -f *.o core phantasia phant.help phantasia.0 setup
129:
130: depend: FRC
131: mkdep ${CFLAGS} ${SRCS}
132:
133: lint: FRC
134: lint ${CFLAGS} ${SRCS}
135:
136: tags: FRC
137: ctags ${SRCS}
138:
139: FRC:
140:
141: # DO NOT DELETE THIS LINE -- mkdep uses it.
142: # DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY.
143:
144: main.o: main.c include.h /usr/include/ctype.h /usr/include/curses.h
145: main.o: /usr/include/stdio.h /usr/include/sgtty.h /usr/include/sys/ioctl.h
146: main.o: /usr/include/sys/ttychars.h /usr/include/sys/ttydev.h
147: main.o: /usr/include/math.h /usr/include/pwd.h /usr/include/setjmp.h
148: main.o: /usr/include/signal.h /usr/include/machine/trap.h /usr/include/time.h
149: main.o: macros.h phantdefs.h phantstruct.h phantglobs.h
150: fight.o: fight.c include.h /usr/include/ctype.h /usr/include/curses.h
151: fight.o: /usr/include/stdio.h /usr/include/sgtty.h /usr/include/sys/ioctl.h
152: fight.o: /usr/include/sys/ttychars.h /usr/include/sys/ttydev.h
153: fight.o: /usr/include/math.h /usr/include/pwd.h /usr/include/setjmp.h
154: fight.o: /usr/include/signal.h /usr/include/machine/trap.h /usr/include/time.h
155: fight.o: macros.h phantdefs.h phantstruct.h phantglobs.h
156: io.o: io.c include.h /usr/include/ctype.h /usr/include/curses.h
157: io.o: /usr/include/stdio.h /usr/include/sgtty.h /usr/include/sys/ioctl.h
158: io.o: /usr/include/sys/ttychars.h /usr/include/sys/ttydev.h /usr/include/math.h
159: io.o: /usr/include/pwd.h /usr/include/setjmp.h /usr/include/signal.h
160: io.o: /usr/include/machine/trap.h /usr/include/time.h macros.h phantdefs.h
161: io.o: phantstruct.h phantglobs.h
162: interplayer.o: interplayer.c include.h /usr/include/ctype.h
163: interplayer.o: /usr/include/curses.h /usr/include/stdio.h /usr/include/sgtty.h
164: interplayer.o: /usr/include/sys/ioctl.h /usr/include/sys/ttychars.h
165: interplayer.o: /usr/include/sys/ttydev.h /usr/include/math.h /usr/include/pwd.h
166: interplayer.o: /usr/include/setjmp.h /usr/include/signal.h
167: interplayer.o: /usr/include/machine/trap.h /usr/include/time.h macros.h
168: interplayer.o: phantdefs.h phantstruct.h phantglobs.h
169: gamesupport.o: gamesupport.c include.h /usr/include/ctype.h
170: gamesupport.o: /usr/include/curses.h /usr/include/stdio.h /usr/include/sgtty.h
171: gamesupport.o: /usr/include/sys/ioctl.h /usr/include/sys/ttychars.h
172: gamesupport.o: /usr/include/sys/ttydev.h /usr/include/math.h /usr/include/pwd.h
173: gamesupport.o: /usr/include/setjmp.h /usr/include/signal.h
174: gamesupport.o: /usr/include/machine/trap.h /usr/include/time.h macros.h
175: gamesupport.o: phantdefs.h phantstruct.h phantglobs.h
176: misc.o: misc.c include.h /usr/include/ctype.h /usr/include/curses.h
177: misc.o: /usr/include/stdio.h /usr/include/sgtty.h /usr/include/sys/ioctl.h
178: misc.o: /usr/include/sys/ttychars.h /usr/include/sys/ttydev.h
179: misc.o: /usr/include/math.h /usr/include/pwd.h /usr/include/setjmp.h
180: misc.o: /usr/include/signal.h /usr/include/machine/trap.h /usr/include/time.h
181: misc.o: macros.h phantdefs.h phantstruct.h phantglobs.h
182: phantglobs.o: phantglobs.c include.h /usr/include/ctype.h /usr/include/curses.h
183: phantglobs.o: /usr/include/stdio.h /usr/include/sgtty.h
184: phantglobs.o: /usr/include/sys/ioctl.h /usr/include/sys/ttychars.h
185: phantglobs.o: /usr/include/sys/ttydev.h /usr/include/math.h /usr/include/pwd.h
186: phantglobs.o: /usr/include/setjmp.h /usr/include/signal.h
187: phantglobs.o: /usr/include/machine/trap.h /usr/include/time.h macros.h
188: phantglobs.o: phantdefs.h phantstruct.h phantglobs.h
189:
190: # IF YOU PUT ANYTHING HERE IT WILL GO AWAY
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.