home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 October / usenetsourcesnewsgroupsinfomagicoctober1994disk2.iso / games / volume2 / dungeon / patch1 / Makefile.sysv < prev    next >
Makefile  |  1987-10-09  |  10KB  |  230 lines

  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. # define SYSV *and* XELOS if running the XELOS OS
  19. CFLAGS = -O -DSYSV # -DXELOS -g -i
  20. CPPFLAGS = -P
  21. #
  22. # f77 compiler flags for BSD Vax (and other similar machines)
  23. #FOPTS = -q # -g -Ddebug
  24. # use -Nn650 for System V to increase default symbol table size
  25. # also, define SYSV and no -g flag (causes runtime errors)
  26. FOPTS = -q -Nn650 -DSYSV # -Ddebug
  27. # f77 compiler flags for pdp (64K split I/D)
  28. #FOPTS = -q -I2 -L1 -i -DPDP # -Nn650 -Ddebug
  29. FFLAGS = -O $(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 exit.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 exit.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
  230.