home *** CD-ROM | disk | FTP | other *** search
/ Frozen Fish 1: Amiga / FrozenFish-Apr94.iso / bbs / alib / d1xx / d189 / nethack.lha / NetHack / eenaux.zoo / aux / Makefile.xenix < prev    next >
Makefile  |  1988-07-01  |  6KB  |  241 lines

  1. #    Hack or Quest Makefile.
  2. #    SCCS Id: @(#)Makefile.xenix    2.1    87/10/08
  3.  
  4. # if you are cross-compiling (eg. from Xenix into a Dos enviornment)
  5. # you will have to redefine these filenames.
  6. MAIN = unixmain.c
  7. TTY  = unixtty.c
  8. UNIX = unixunix.c
  9.  
  10. # on some systems the termcap library is in -ltermcap
  11. TERMLIB = -ltermlib
  12. CRT0   =
  13. LIBS = ${TERMLIB}
  14.  
  15. # flags may have to be changed as required
  16. CFLAGS = -LARGE -Ml
  17. LFLAGS = -Ml
  18.  
  19. # make NetHack
  20. GAME     = nethack
  21. GAMEUID  = games
  22. GAMEGRP  = bin
  23. GAMEDIR  = /usr/games/lib/$(GAME)dir
  24. SHELLDIR = /usr/games
  25. MANDIR     = /usr/man/manl
  26. MANEXT     = l
  27.  
  28. HACKCSRC = apply.c bones.c decl.c\
  29.     cmd.c do.c dothrow.c do_name.c do_wear.c dog.c dogmove.c eat.c end.c\
  30.     engrave.c fight.c fountain.c hack.c invent.c ioctl.c lev.c main.c\
  31.     makemon.c mhitu.c mklev.c mkmaze.c mkobj.c mkshop.c\
  32.     mon.c monmove.c monst.c o_init.c objnam.c options.c\
  33.     pager.c polyself.c potion.c pray.c pri.c prisym.c read.c rip.c\
  34.     rumors.c save.c search.c shk.c shknam.c sit.c spell.c steal.c\
  35.     termcap.c timeout.c topl.c topten.c track.c trap.c tty.c unix.c\
  36.     u_init.c vault.c wield.c wizard.c worm.c worn.c write.c zap.c\
  37.     version.c rnd.c alloc.c
  38.  
  39. CSOURCES = $(HACKCSRC) makedefs.c
  40.  
  41. HSOURCES = hack.h mfndpos.h config.h edog.h eshk.h extern.h\
  42.     flag.h func_tab.h gold.h mkroom.h monst.h obj.h\
  43.     objclass.h objects.h permonst.h rm.h spell.h trap.h wseg.h you.h
  44.  
  45. SOURCES = $(CSOURCES) $(HSOURCES)
  46.  
  47. AUX = help hh nethack.6 nethack.sh
  48. VARAUX = data rumors
  49. SPECIFICS = main.o tty.o unix.o
  50.  
  51. DISTR = $(SOURCES) $(AUX) $(VARAUX) README.OLD README\
  52.     Makefile.unix Makefile.xenix Makefile.pc Make.ini
  53.  
  54. HOBJ = apply.o bones.o decl.o cmd.o do.o dothrow.o do_name.o do_wear.o dog.o\
  55.     dogmove.o eat.o end.o engrave.o fight.o fountain.o hack.o\
  56.     invent.o ioctl.o lev.o main.o makemon.o mhitu.o mklev.o\
  57.     mkmaze.o mkobj.o mkshop.o mon.o monmove.o monst.o\
  58.     o_init.o objnam.o options.o pager.o polyself.o potion.o pray.o\
  59.     pri.o prisym.o read.o rip.o rumors.o save.o search.o shk.o shknam.o\
  60.     sit.o spell.o steal.o termcap.o timeout.o topl.o topten.o track.o\
  61.     trap.o tty.o unix.o u_init.o vault.o wield.o wizard.o worm.o worn.o\
  62.     write.o zap.o version.o rnd.o alloc.o
  63.  
  64. .c.o:
  65.     cc -O -c -Gt24 ${CFLAGS} $*.c
  66.  
  67. $(GAME):    $(SPECIFICS) $(HOBJ) Makefile
  68.     cc $(LFLAGS) -m hack.map -o $(GAME) /lib/Lsignal.o $(CRT0) $(HOBJ) $(LIBS)
  69. -SEG#256
  70.  
  71.  
  72. all:    $(GAME) lint
  73.     @echo "Done."
  74.  
  75. makedefs:    makedefs.c Salloc.o config.h
  76.     cc -O -o makedefs Salloc.o makedefs.c
  77.  
  78. Salloc.o:    alloc.c
  79.     cp alloc.c Salloc.c
  80.     cc -O -c Salloc.c
  81. pc:
  82.     cd dos; make
  83.  
  84. RUMORFILES= rumors.base rumors.kaa rumors.mrx
  85.  
  86. rumors:    config.h $(RUMORFILES) makedefs
  87.     ./makedefs -r
  88.  
  89. data:     config.h data.base makedefs
  90.     ./makedefs -d
  91.  
  92. date.h:    $(SOURCES) makedefs
  93.     ./makedefs -D
  94.  
  95. trap.h:    config.h makedefs
  96.     ./makedefs -t
  97.  
  98. onames.h:    makedefs objects.h
  99.     ./makedefs -o
  100.  
  101. main.o: main.c
  102.  
  103. main.c:    unixmain.c hack.h
  104.     cp ${MAIN} main.c
  105.  
  106. tty.o:      tty.c
  107.     cc ${CFLAGS} -c tty.c
  108.  
  109. tty.c:      unixtty.c extern.h
  110.     cp ${TTY} tty.c
  111.  
  112. unix.c:    unixunix.c hack.h mkroom.h
  113.     cp ${UNIX} unix.c
  114.  
  115. lint:
  116. # lint cannot have -p here because (i) capitals are meaningful:
  117. # [Ww]izard, (ii) identifiers may coincide in the first six places:
  118. # doweararm() versus dowearring().
  119. # _flsbuf comes from <stdio.h>, a bug in the system libraries.
  120.     @echo lint -axbh -DLINT ...
  121.     @lint -axbh -DLINT $(HACKCSRC) | sed '/_flsbuf/d'
  122.  
  123.  
  124. diff:
  125.     @- for i in $(SOURCES) $(AUX) ; do \
  126.     cmp -s $$i $D/$$i || \
  127.     ( echo diff $D/$$i $$i ; diff $D/$$i $$i ; echo ) ; done
  128.  
  129. distribution: Makefile
  130.     @- for i in READ_ME $(SOURCES) $(AUX) Makefile date.h onames.h\
  131.     ; do \
  132.     cmp -s $$i $D/$$i || \
  133.     ( echo cp $$i $D ; cp $$i $D ) ; done
  134. # the distribution directory also contains the empty files perm and record.
  135.  
  136. initial:
  137.     -rm -rf $(GAMEDIR)
  138.     -mkdir $(SHELLDIR)
  139.     mkdir $(GAMEDIR) $(GAMEDIR)/save
  140.     touch $(GAMEDIR)/perm
  141.     touch $(GAMEDIR)/record
  142.     chown $(GAMEUID) $(GAMEDIR) $(GAMEDIR)/*
  143.     chgrp $(GAMEGRP) $(GAMEDIR) $(GAMEDIR)/*
  144.     chmod 666 $(GAMEDIR)/*
  145.     chmod 777 $(GAMEDIR) $(GAMEDIR)/save
  146.  
  147. install: $(VARAUX) $(GAME)
  148.     -rm -f $(GAMEDIR)/$(GAME)
  149.     -rm -f $(GAMEDIR)/bones* $(GAMEDIR)/alock* $(GAMEDIR)/wizard*
  150.     -rm -f $(GAMEDIR)/save/*
  151.     cp help hh rumors data $(GAMEDIR)
  152.     cp $(GAME).sh $(SHELLDIR)/$(GAME)
  153.     cp $(GAME) $(GAMEDIR)/$(GAME)
  154.     chown $(GAMEUID) $(SHELLDIR)/$(GAME) $(GAMEDIR) $(GAMEDIR)/*
  155.     chgrp $(GAMEGRP) $(SHELLDIR)/$(GAME) $(GAMEDIR) $(GAMEDIR)/*
  156.     chmod 0755 $(SHELLDIR)/$(GAME)
  157.     chmod 04755 $(GAMEDIR)/$(GAME)
  158.     -cp nethack.6 $(MANDIR)/$(GAME).$(MANEXT)
  159.  
  160. debug:
  161.     ln $(GAMEDIR)/$(GAME) a.out
  162.     ln $(GAMEDIR)/core core
  163.  
  164. clean:
  165.     rm -f *.o
  166.  
  167. spotless: clean
  168.     rm -f a.out core $(GAME) makedefs
  169.     rm -f Makefile $(VARAUX) main.c tty.c unix.c
  170.  
  171. decl.o:  hack.h mkroom.h
  172. apply.o:  hack.h edog.h mkroom.h
  173. bones.o:  hack.h
  174. hack.o:  hack.h
  175. cmd.o:    hack.h func_tab.h
  176. do.o:  hack.h
  177. do_name.o:  hack.h
  178. do_wear.o:  hack.h
  179. dog.o:    hack.h edog.h mkroom.h
  180. dogmove.o:  hack.h mfndpos.h edog.h mkroom.h
  181. dothrow.o:  hack.h
  182. eat.o:    hack.h
  183. end.o:    hack.h
  184. engrave.o:  hack.h
  185. fight.o:  hack.h
  186. fountain.o:  hack.h mkroom.h
  187. invent.o:  hack.h wseg.h
  188. ioctl.o:  config.h
  189. lev.o:    hack.h mkroom.h wseg.h
  190. makemon.o:  hack.h
  191. mhitu.o:  hack.h
  192. mklev.o:  hack.h mkroom.h
  193. mkmaze.o:  hack.h mkroom.h
  194. mkobj.o:  hack.h
  195. mkshop.o:  hack.h mkroom.h eshk.h
  196. mon.o:    hack.h mfndpos.h
  197. monmove.o:  hack.h mfndpos.h
  198. monst.o:  hack.h eshk.h
  199. o_init.o:  config.h objects.h onames.h
  200. objnam.o:  hack.h
  201. options.o:  hack.h
  202. pager.o:  hack.h
  203. polyself.o: hack.h
  204. potion.o:  hack.h
  205. pray.o:  hack.h
  206. pri.o:    hack.h
  207. prisym.o:  hack.h wseg.h
  208. read.o:  hack.h
  209. rip.o:    hack.h
  210. rumors.o:  hack.h
  211. save.o:  hack.h
  212. search.o:  hack.h
  213. shk.o:    hack.h mfndpos.h mkroom.h eshk.h
  214. shknam.o:  hack.h
  215. sit.o: hack.h
  216. spell.o:  hack.h
  217. steal.o:  hack.h
  218. termcap.o:  hack.h
  219. timeout.o:  hack.h
  220. topl.o:  hack.h
  221. topten.o:  hack.h
  222. track.o:  hack.h
  223. trap.o:  hack.h edog.h mkroom.h
  224. u_init.o:  hack.h
  225. vault.o:  hack.h mkroom.h
  226. wield.o:  hack.h
  227. wizard.o:  hack.h
  228. worm.o:  hack.h wseg.h
  229. worn.o:  hack.h
  230. write.o:  hack.h
  231. zap.o:    hack.h
  232. version.o:  hack.h date.h
  233. extern.h: config.h spell.h obj.h
  234.     touch extern.h
  235. hack.h: extern.h flag.h gold.h monst.h objclass.h rm.h trap.h you.h
  236.     touch hack.h
  237. objects.h:  config.h objclass.h
  238.     touch objects.h
  239. you.h: config.h onames.h permonst.h
  240.     touch you.h
  241.