Commit | Line | Data |
---|---|---|
efbedec6 KB |
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. | |
7ce62984 | 39 | LIBS= -lm -lcurses -ltermlib |
efbedec6 KB |
40 | |
41 | # DEST is where the program and its support files reside | |
42 | DEST = /usr/games/lib/phantasia | |
43 | DESTR = /usr/games | |
44 | ||
4959c176 KB |
45 | MDIR= /usr/man/cat6 |
46 | ||
47 | .SUFFIXES: .6 .0 | |
48 | ||
49 | ||
efbedec6 KB |
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} \ | |
4959c176 KB |
70 | -DWIZARD=\"root\" \ |
71 | -DUID=0 \ | |
efbedec6 | 72 | -DENEMY \ |
efbedec6 KB |
73 | -DBSD42 |
74 | ||
7ce62984 KB |
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 | |
efbedec6 | 77 | HFILES = phantdefs.h phantstruct.h macros.h include.h |
7ce62984 | 78 | LIBC= /lib/libc.a |
efbedec6 | 79 | |
4959c176 | 80 | all: phantasia setup phantasia.0 |
efbedec6 KB |
81 | |
82 | # Make the game. | |
7ce62984 KB |
83 | phantasia: ${OBJS} ${LIBC} |
84 | ${CC} ${OBJS} -o $@ ${LIBS} | |
efbedec6 | 85 | |
7ce62984 | 86 | ${OBJS}: ${HFILES} |
efbedec6 KB |
87 | |
88 | # Make the initialization program. | |
7ce62984 KB |
89 | setup: phantglobs.o setup.o monsters.asc ${LIBC} |
90 | ${CC} phantglobs.o setup.o -o $@ ${LIBS} | |
efbedec6 | 91 | |
7ce62984 | 92 | setup.o: ${HFILES} |
efbedec6 KB |
93 | |
94 | # Make documentation. | |
95 | # The flags below on tbl and nroff are to make a line printable version. | |
4959c176 KB |
96 | .6.0: |
97 | tbl -TX phantasia.6 | /usr/man/manroff > phantasia.0 | |
efbedec6 KB |
98 | |
99 | # Install game and documentation. Initialize. | |
7ce62984 | 100 | install: FRC |
8d7661b8 | 101 | -[ -d ${DESTDIR}/usr/games/lib/phantasia ] || mkdir ${DESTDIR}/usr/games/lib/phantasia |
7ce62984 | 102 | chmod 700 /usr/games/lib/phantasia |
8b51accb KB |
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) | |
4959c176 KB |
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} | |
7ce62984 | 108 | ./setup |
8b51accb | 109 | chown games.bin /usr/games/lib/phantasia/* |
efbedec6 KB |
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: | |
4959c176 | 128 | ${RM} -f *.o core phantasia phant.help phantasia.0 setup |
7ce62984 KB |
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 | |
4959c176 KB |
146 | main.o: /usr/include/sys/ttychars.h /usr/include/sys/ttydefaults.h |
147 | main.o: /usr/include/sys/ttydev.h /usr/include/math.h /usr/include/pwd.h | |
148 | main.o: /usr/include/setjmp.h /usr/include/signal.h /usr/include/machine/trap.h | |
149 | main.o: /usr/include/time.h macros.h phantdefs.h phantstruct.h phantglobs.h | |
7ce62984 KB |
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 | |
4959c176 KB |
152 | fight.o: /usr/include/sys/ttychars.h /usr/include/sys/ttydefaults.h |
153 | fight.o: /usr/include/sys/ttydev.h /usr/include/math.h /usr/include/pwd.h | |
154 | fight.o: /usr/include/setjmp.h /usr/include/signal.h | |
155 | fight.o: /usr/include/machine/trap.h /usr/include/time.h macros.h phantdefs.h | |
7ce62984 KB |
156 | fight.o: phantstruct.h phantglobs.h |
157 | io.o: io.c include.h /usr/include/ctype.h /usr/include/curses.h | |
158 | io.o: /usr/include/stdio.h /usr/include/sgtty.h /usr/include/sys/ioctl.h | |
4959c176 KB |
159 | io.o: /usr/include/sys/ttychars.h /usr/include/sys/ttydefaults.h |
160 | io.o: /usr/include/sys/ttydev.h /usr/include/math.h /usr/include/pwd.h | |
161 | io.o: /usr/include/setjmp.h /usr/include/signal.h /usr/include/machine/trap.h | |
7ce62984 KB |
162 | io.o: /usr/include/time.h macros.h phantdefs.h phantstruct.h phantglobs.h |
163 | interplayer.o: interplayer.c include.h /usr/include/ctype.h | |
164 | interplayer.o: /usr/include/curses.h /usr/include/stdio.h /usr/include/sgtty.h | |
165 | interplayer.o: /usr/include/sys/ioctl.h /usr/include/sys/ttychars.h | |
4959c176 KB |
166 | interplayer.o: /usr/include/sys/ttydefaults.h /usr/include/sys/ttydev.h |
167 | interplayer.o: /usr/include/math.h /usr/include/pwd.h /usr/include/setjmp.h | |
168 | interplayer.o: /usr/include/signal.h /usr/include/machine/trap.h | |
169 | interplayer.o: /usr/include/time.h macros.h phantdefs.h phantstruct.h | |
170 | interplayer.o: phantglobs.h | |
7ce62984 KB |
171 | gamesupport.o: gamesupport.c include.h /usr/include/ctype.h |
172 | gamesupport.o: /usr/include/curses.h /usr/include/stdio.h /usr/include/sgtty.h | |
173 | gamesupport.o: /usr/include/sys/ioctl.h /usr/include/sys/ttychars.h | |
4959c176 KB |
174 | gamesupport.o: /usr/include/sys/ttydefaults.h /usr/include/sys/ttydev.h |
175 | gamesupport.o: /usr/include/math.h /usr/include/pwd.h /usr/include/setjmp.h | |
176 | gamesupport.o: /usr/include/signal.h /usr/include/machine/trap.h | |
177 | gamesupport.o: /usr/include/time.h macros.h phantdefs.h phantstruct.h | |
178 | gamesupport.o: phantglobs.h | |
7ce62984 KB |
179 | misc.o: misc.c include.h /usr/include/ctype.h /usr/include/curses.h |
180 | misc.o: /usr/include/stdio.h /usr/include/sgtty.h /usr/include/sys/ioctl.h | |
4959c176 KB |
181 | misc.o: /usr/include/sys/ttychars.h /usr/include/sys/ttydefaults.h |
182 | misc.o: /usr/include/sys/ttydev.h /usr/include/math.h /usr/include/pwd.h | |
183 | misc.o: /usr/include/setjmp.h /usr/include/signal.h /usr/include/machine/trap.h | |
184 | misc.o: /usr/include/time.h macros.h phantdefs.h phantstruct.h phantglobs.h | |
7ce62984 KB |
185 | phantglobs.o: phantglobs.c include.h /usr/include/ctype.h /usr/include/curses.h |
186 | phantglobs.o: /usr/include/stdio.h /usr/include/sgtty.h | |
187 | phantglobs.o: /usr/include/sys/ioctl.h /usr/include/sys/ttychars.h | |
4959c176 KB |
188 | phantglobs.o: /usr/include/sys/ttydefaults.h /usr/include/sys/ttydev.h |
189 | phantglobs.o: /usr/include/math.h /usr/include/pwd.h /usr/include/setjmp.h | |
190 | phantglobs.o: /usr/include/signal.h /usr/include/machine/trap.h | |
191 | phantglobs.o: /usr/include/time.h macros.h phantdefs.h phantstruct.h | |
192 | phantglobs.o: phantglobs.h | |
7ce62984 KB |
193 | |
194 | # IF YOU PUT ANYTHING HERE IT WILL GO AWAY |