home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 October / usenetsourcesnewsgroupsinfomagicoctober1994disk2.iso / games / volume2 / dungeon / patch1 / Makefile.sun < prev    next >
Makefile  |  1987-10-09  |  10KB  |  229 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. CFLAGS = -O # -DSYSV -g -i
  19. CPPFLAGS = -P
  20. #
  21. # f77 compiler flags for BSD Vax (and other similar machines)
  22. FOPTS = -q # -g -Ddebug
  23. # use -Nn650 for System V to increase default symbol table size
  24. # also, define SYSV and no -g flag (causes runtime errors)
  25. #FOPTS = -q -Nn650 -DSYSV # -Ddebug
  26. # f77 compiler flags for pdp (64K split I/D)
  27. #FOPTS = -q -I2 -L1 -i -DPDP # -Nn650 -Ddebug
  28. FFLAGS = -O $(FOPTS)
  29.  
  30. # flags for the loader
  31. LDFLAGS = # -s -g -v
  32.  
  33. # Directory path for main program - default /usr/games
  34. BIN = /usr/games
  35. # Directory path for data files - default is /usr/games/lib/dunlib
  36. LIB = /usr/games/lib/dunlib
  37. DDIR = \'/usr/games/lib/dunlib
  38. DCDIR =\"/usr/games/lib/dunlib
  39. # Directory path for man page - default /usr/manl/man6
  40. MDIR = /usr/manl/man6
  41. # userid for wizard - allows invoking game debugging tool - default 0
  42. WIZDEF = -DWIZARDID=320
  43.  
  44. HDRS =    advers.h clock.h curxt.h debug.h exits.h files.h flags.h\
  45.     gamestate.h io.h mindex.h objects.h oflags.h oindex.h\
  46.     parser.h puzzle.h rflag.h rindex.h rooms.h screen.h state.h\
  47.     verbs.h villians.h vocab.h xpars.h xsrch.h
  48.  
  49. FSRC =  actors.F ballop.F clockr.F demons.F\
  50.     dgame.F dinit.F dmain.F dso1.F dso2.F\
  51.     dso3.F dso4.F dso5.F dso6.F dso7.F\
  52.     dsub.F dverb1.F dverb2.F gdt.F lightp.F\
  53.     nobjs.F np.F np1.F np2.F np3.F nrooms.F objcts.F\
  54.     rooms.F sobjs.F sverbs.F verbs.F villns.F
  55.  
  56. CSRC =    cinit.c cio.c cspeak.c decode.c lex.c listen.c rtim.c
  57.  
  58. OBJS =  actors.o ballop.o clockr.o demons.o\
  59.     dgame.o dinit.o dmain.o dso1.o dso2.o\
  60.     dso3.o dso4.o dso5.o dso6.o dso7.o\
  61.     dsub.o dverb1.o dverb2.o gdt.o lightp.o\
  62.     nobjs.o np.o np1.o np2.o np3.o nrooms.o objcts.o\
  63.     rooms.o rtim.o sobjs.o sverbs.o verbs.o villns.o
  64.  
  65. PDPOBJS = cinit.o cio.o lex.o
  66. LISTEN = listen.o
  67. SPEAK = cspeak.o speak.o
  68.  
  69. vax:    dungeon dtext.dat
  70. pdp:    dungpdp speak listen dtext.dat
  71.  
  72. dungeon: $(OBJS)
  73.     f77 -o dungeon $(OBJS) $(LDFLAGS)
  74.     @echo done
  75.  
  76. dungpdp: $(OBJS) $(PDPOBJS)
  77.     f77 -i -s -o dungpdp $(OBJS) $(PDPOBJS)
  78.     @echo done
  79.  
  80. speak:    $(SPEAK)
  81.     f77 -i -s -o speak $(SPEAK)
  82.     
  83. speak.o: speak.F
  84.     f77 $(FFLAGS) -DDDIR=$(DDIR) -c speak.F
  85. # For System V use the following instead:
  86. #    @/lib/cpp $(CPPFLAGS) speak.F > speak.f
  87. #    f77 $(FFLAGS) -DDDIR=$(DDIR) -c speak.f
  88. #    rm $*.f
  89.  
  90. listen:    $(LISTEN)
  91.     cc $(CFLAGS) -o listen $(LISTEN)
  92.  
  93. listen.o: listen.c
  94.     cc $(CFLAGS) -DCINDEXFILE=$(DCDIR)/dindx.dat\" -c listen.c
  95.  
  96. dinit.o: dinit.F
  97.     f77 $(FFLAGS) -DDDIR=$(DDIR) $(WIZDEF) -c dinit.F
  98. # For System V use the following instead:
  99. #    @/lib/cpp $(CPPFLAGS) dinit.F > dinit.f
  100. #    f77 $(FFLAGS) -DDDIR=$(DDIR) $(WIZDEF) -c dinit.f
  101. #    rm $*.f
  102.  
  103. # uncomment the following for Suns to get around an optimizer bug
  104. # -P means partial optimization.
  105. #objcts.o: objcts.F
  106. #    f77 $(FOPTS) -P -c objcts.F
  107.  
  108. install-vax: vax
  109.     cp dungeon $(BIN)
  110.     -mkdir $(LIB)
  111.     cp dindx.dat dtext.dat $(LIB)
  112.     cp dungeon.6 $(MDIR)/dungeon.6
  113.  
  114. install-pdp: pdp
  115.     cp dungeon.sh $(BIN)
  116.     -mkdir $(LIB)
  117.     cp dindx.dat dtext.dat rtext.dat dungpdp $(LIB)
  118.     cp dungeon.6 $(MDIR)/dungeon.6
  119.  
  120. dtext.dat: 
  121.     ./maketxt.sh
  122.  
  123.  
  124. clean:
  125.     -rm $(OBJS) Mk* core makedep eddep
  126.  
  127. depend:
  128.     grep '^#include' $(FSRC) $(CSRC) $(HDRS) | grep -v '<' | \
  129.     sed -e 's/:[^"]*"\([^"]*\)".*/: \1/' \
  130.         -e 's/\.c/.o/' \
  131.         -e 's/\.F/.o/' \
  132.         -e 's,../[a-zA-Z]*/,,' | \
  133.     awk ' { if ($$1 != prev) { print rec; rec = $$0; prev = $$1; } \
  134.         else { if (length(rec $$2) > 78) { print rec; rec = $$0; } \
  135.                else rec = rec " " $$2 } } \
  136.           END { print rec } ' > makedep
  137.     echo '$$r makedep' >>eddep
  138.     echo '/^# DO NOT DELETE THIS LINE/+1,$$d' >eddep
  139.     echo '$$r makedep' >>eddep
  140.     echo 'w' >>eddep
  141.     cp Makefile Makefile.bak
  142.     ed - Makefile < eddep
  143.     rm eddep makedep
  144.  
  145. # DO NOT DELETE THIS LINE -- make depend uses it
  146.  
  147. actors.o: parser.h gamestate.h rooms.h rflag.h rindex.h xsrch.h objects.h
  148. actors.o: oflags.h oindex.h clock.h advers.h verbs.h flags.h gamestate.h
  149. actors.o: debug.h rooms.h rflag.h rindex.h objects.h oflags.h oindex.h
  150. actors.o: villians.h flags.h
  151. ballop.o: parser.h gamestate.h state.h rooms.h rflag.h curxt.h xpars.h
  152. ballop.o: objects.h oflags.h oindex.h clock.h verbs.h flags.h
  153. clockr.o: gamestate.h state.h rooms.h rflag.h rindex.h objects.h oflags.h
  154. clockr.o: oindex.h clock.h curxt.h xsrch.h villians.h advers.h flags.h
  155. clockr.o: gamestate.h objects.h oflags.h clock.h
  156. demons.o: parser.h gamestate.h objects.h oflags.h oindex.h villians.h advers.h
  157. demons.o: verbs.h flags.h gamestate.h parser.h objects.h oflags.h clock.h
  158. demons.o: advers.h verbs.h gamestate.h curxt.h xsrch.h objects.h oindex.h
  159. demons.o: villians.h advers.h rindex.h objects.h oindex.h villians.h flags.h
  160. dgame.o: parser.h gamestate.h state.h io.h rooms.h rindex.h objects.h oflags.h
  161. dgame.o: oindex.h advers.h verbs.h flags.h parser.h villians.h gamestate.h
  162. dgame.o: objects.h advers.h
  163. dinit.o: files.h parser.h gamestate.h state.h screen.h mindex.h io.h debug.h
  164. dinit.o: rooms.h rflag.h rindex.h exits.h curxt.h xpars.h objects.h oindex.h
  165. dinit.o: clock.h villians.h advers.h flags.h
  166. dmain.o: parser.h gamestate.h state.h screen.h puzzle.h io.h debug.h rooms.h
  167. dmain.o: rflag.h rindex.h exits.h curxt.h xpars.h xsrch.h objects.h oflags.h
  168. dmain.o: oindex.h clock.h villians.h advers.h verbs.h flags.h
  169. dso1.o: gamestate.h rooms.h rflag.h objects.h oflags.h oindex.h advers.h
  170. dso1.o: flags.h gamestate.h objects.h oflags.h advers.h objects.h
  171. dso2.o: gamestate.h rooms.h rflag.h objects.h oindex.h advers.h gamestate.h
  172. dso2.o: state.h advers.h flags.h gamestate.h state.h clock.h advers.h flags.h
  173. dso3.o: rooms.h exits.h curxt.h xpars.h objects.h oflags.h
  174. dso4.o: objects.h oflags.h objects.h oflags.h objects.h state.h advers.h
  175. dso4.o: parser.h objects.h oflags.h oindex.h villians.h flags.h
  176. dso5.o: parser.h objects.h oflags.h verbs.h rooms.h rflag.h objects.h oflags.h
  177. dso5.o: advers.h objects.h
  178. dso6.o: rooms.h rflag.h rindex.h rindex.h flags.h
  179. dso7.o: rooms.h rflag.h rindex.h objects.h oflags.h flags.h flags.h
  180. dsub.o: gamestate.h mindex.h io.h parser.h objects.h debug.h objects.h
  181. dsub.o: objects.h objects.h parser.h gamestate.h state.h io.h debug.h rooms.h
  182. dsub.o: rflag.h rindex.h objects.h oflags.h oindex.h advers.h flags.h advers.h
  183. dsub.o: flags.h parser.h gamestate.h screen.h rooms.h rflag.h xsrch.h objects.h
  184. dsub.o: advers.h verbs.h flags.h
  185. dverb1.o: parser.h gamestate.h state.h objects.h oflags.h advers.h parser.h
  186. dverb1.o: gamestate.h rindex.h objects.h oflags.h advers.h verbs.h parser.h
  187. dverb1.o: gamestate.h objects.h oflags.h advers.h verbs.h parser.h gamestate.h
  188. dverb1.o: objects.h oflags.h verbs.h
  189. dverb2.o: parser.h gamestate.h state.h screen.h puzzle.h rooms.h exits.h
  190. dverb2.o: objects.h clock.h villians.h advers.h flags.h parser.h gamestate.h
  191. dverb2.o: state.h screen.h puzzle.h rooms.h exits.h objects.h clock.h
  192. dverb2.o: villians.h advers.h flags.h parser.h gamestate.h rooms.h rflag.h
  193. dverb2.o: curxt.h xsrch.h objects.h oflags.h clock.h villians.h advers.h
  194. dverb2.o: flags.h gamestate.h parser.h puzzle.h rooms.h rindex.h exits.h
  195. dverb2.o: curxt.h xpars.h xsrch.h objects.h oflags.h oindex.h advers.h flags.h
  196. gdt.o: parser.h gamestate.h state.h screen.h puzzle.h io.h mindex.h debug.h
  197. gdt.o: rooms.h rindex.h exits.h objects.h oindex.h clock.h villians.h advers.h
  198. gdt.o: flags.h
  199. lightp.o: parser.h gamestate.h objects.h oflags.h oindex.h clock.h verbs.h
  200. lightp.o: flags.h
  201. nobjs.o: parser.h gamestate.h state.h screen.h puzzle.h rooms.h rflag.h
  202. nobjs.o: rindex.h objects.h oflags.h oindex.h clock.h villians.h advers.h
  203. nobjs.o: verbs.h flags.h gamestate.h parser.h verbs.h flags.h
  204. np.o: parser.h io.h debug.h parser.h xsrch.h parser.h debug.h
  205. np1.o: parser.h gamestate.h debug.h objects.h oindex.h advers.h verbs.h vocab.h
  206. np2.o: parser.h gamestate.h debug.h objects.h oflags.h advers.h vocab.h
  207. np2.o: objects.h oflags.h vocab.h
  208. np3.o: parser.h vocab.h debug.h vocab.h parser.h objects.h parser.h parser.h
  209. np3.o: gamestate.h state.h objects.h oflags.h advers.h parser.h gamestate.h
  210. np3.o: objects.h oflags.h advers.h
  211. nrooms.o: parser.h gamestate.h state.h io.h rooms.h rflag.h rindex.h objects.h
  212. nrooms.o: oflags.h oindex.h xsrch.h clock.h advers.h verbs.h flags.h
  213. nrooms.o: gamestate.h flags.h rindex.h flags.h
  214. objcts.o: parser.h gamestate.h state.h rooms.h rflag.h rindex.h objects.h
  215. objcts.o: oflags.h oindex.h clock.h advers.h verbs.h flags.h
  216. rooms.o: parser.h gamestate.h state.h rooms.h rflag.h rindex.h objects.h
  217. rooms.o: oflags.h oindex.h clock.h villians.h advers.h verbs.h flags.h
  218. sobjs.o: parser.h gamestate.h state.h rooms.h rflag.h rindex.h objects.h
  219. sobjs.o: oflags.h oindex.h clock.h villians.h advers.h verbs.h flags.h
  220. sverbs.o: parser.h gamestate.h state.h screen.h io.h rooms.h rflag.h rindex.h
  221. sverbs.o: exits.h curxt.h xpars.h xsrch.h objects.h oflags.h oindex.h clock.h
  222. sverbs.o: advers.h verbs.h flags.h
  223. verbs.o: parser.h gamestate.h state.h rooms.h rflag.h rindex.h xsrch.h
  224. verbs.o: objects.h oflags.h oindex.h advers.h verbs.h clock.h
  225. villns.o: parser.h gamestate.h objects.h oflags.h oindex.h verbs.h flags.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 rindex.h objects.h oflags.h oindex.h clock.h
  228. villns.o: villians.h verbs.h flags.h
  229.