home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 October / usenetsourcesnewsgroupsinfomagicoctober1994disk2.iso / games / volume11 / reve / part06 / Makefile.dist < prev    next >
Makefile  |  1990-11-15  |  8KB  |  226 lines

  1. #
  2. #  Makefile for Reve (an othello game).
  3. #
  4. #  @(#)Makefile.dist 1.7 90/10/18
  5. #
  6. #  Copyright (C) 1990 - Rich Burridge & Yves Gallot.
  7. #  All rights reserved.
  8. #
  9. #  Permission is given to distribute these sources, as long as the
  10. #  introductory messages are not removed, and no monies are exchanged.
  11. #
  12. #  You are forbidden from using Reve as is, or in a modified state, in
  13. #  any tournaments, without the permission of the authors.
  14. #
  15. #  No responsibility is taken for any errors inherent either
  16. #  to the comments or the code of this program, but if reported
  17. #  (see README file), then an attempt will be made to fix them.
  18. #
  19. #========================================================================
  20. #
  21. #  There are various small changes needed when compiling reve on
  22. #  different systems. These have been isolated here, and should be
  23. #  uncommented if needed.
  24. #
  25. #=======================================================================
  26. #  Full pathname of the reve edge table file. This can also be overridden
  27. #  with a command line option.
  28. #
  29. EDGENAMEFILE    = $(LIBDIR)/reve.edgetable
  30. EDGENAME        = -DEDGENAME=\"$(EDGENAMEFILE)\"
  31. #-----------------------------------------------------------------------
  32. #  Not all machines have the index() string library function. If you
  33. #  don't have this function then you should uncomment the NOINDEX
  34. #  definition below.
  35. #
  36. #NOINDEX         = -DNOINDEX
  37. #-----------------------------------------------------------------------
  38. #  Not every version of Unix (in particular System V derivitives) has the
  39. #  select() system call. If your machine doesn't have this call, then you
  40. #  need to uncomment the following definition.
  41. #
  42. #NOSELECT        = -DNOSELECT
  43. #-----------------------------------------------------------------------
  44. #  Some machines do not have the usleep library function. If this is
  45. #  true, then you will need to uncomment this definition.
  46. #
  47. #NO_USLEEP      = -DNO_USLEEP
  48. #-----------------------------------------------------------------------
  49. #  If you not running under a BSD4.3 derived system, the parameters
  50. #  to the select call are different, and this definition should be
  51. #  uncommented. You need to uncomment this for SunOS v3.x.
  52. #
  53. #SELTYPE        = -DNO_43SELECT
  54. #-----------------------------------------------------------------------
  55. #  If you are not running under a BSD4.3 derived system, then the
  56. #  second parameter to a signal call is a pointer to an integer function,
  57. #  and this definition needs to be uncommented. You need to uncomment this
  58. #  for SunOS v3.x.
  59. #
  60. #SIGRET         = -DNO_4_3SIGNAL
  61. #-----------------------------------------------------------------------
  62. #  If you are running on a 80286 machine, Microport's 5.2 port of SYSV,
  63. #  SVAT, or Xenix286, then you will need to uncomment this definition.
  64. #  This ought to work under 5.3 as well.
  65. #
  66. #SYSV  = -DSYSV
  67. #-----------------------------------------------------------------------
  68. #  If you are compiling the X11 version and the X11 include and
  69. #  library files are not in a standard place, then the following
  70. #  two lines should be uncommented, and set appropriately.
  71. #
  72. #X11INCDIR         = -I$(OPENWINHOME)/include
  73. #X11LIBDIR         = -L$(OPENWINHOME)/lib
  74. #------------------------------------------------------------------------
  75. #  If you are compiling the XView version, then the following two lines
  76. #  should be uncommented, and set appropriately.
  77. #
  78. #XVIEWINCDIR      = -I$(OPENWINHOME)/include
  79. #XVIEWLIBDIR      = -L$(OPENWINHOME)/lib
  80. #
  81. #===========================================================================
  82. #
  83. #  Default locations where Othello files will be installed.
  84. #  You might wish to alter these values.
  85. #
  86. BINDIR          = /usr/local/games
  87. LIBDIR          = /usr/local/lib
  88. MANDIR          = /usr/man/man$(MANSECT)
  89. MANSECT         = l
  90. #
  91. #  Compilation flags and standard macro definitions.
  92. #
  93. CDEFS        = $(NOINDEX) $(NOSELECT) $(NO_USLEEP) $(EDGENAME) $(SELTYPE) \
  94.           $(SIGRET) $(SYSV) $(X11INCDIR) $(XVIEWINCDIR)
  95. CFLAGS          = -O $(CDEFS)
  96. #
  97. #==========================================================================
  98.  
  99. BINARIES        = sv_reve tty_reve xreve xv_reve
  100. ETABLE        = reve.edgetable
  101.  
  102. CC              = cc
  103.  
  104. STDSRCS         = boardstuff.c events.c items.c makemove.c main.c \
  105.           procs.c rev_eval.c rev_ip.c rev_iycp.c
  106. STDOBJS         = boardstuff.o events.o items.o makemove.o main.o \
  107.           procs.o rev_eval.o rev_ip.o rev_iycp.o
  108.  
  109. GSRCS           = sunview.c tty.c x11.c xview.c
  110. HDRS            = color.h extern.h images.h reve.h patchlevel.h
  111. IDIR        = images
  112. IMAGES          = $(IDIR)/black.icon \
  113.           $(IDIR)/reve.icon \
  114.           $(IDIR)/reve.color.icon \
  115.           $(IDIR)/white.icon \
  116.           $(IDIR)/button.invert.icon \
  117.           $(IDIR)/button.normal.icon \
  118.           $(IDIR)/button.stencil.icon \
  119.           $(IDIR)/cycle.glyph.icon \
  120.           $(IDIR)/cycle.linvert.icon \
  121.           $(IDIR)/cycle.rinvert.icon \
  122.           $(IDIR)/cycle.stencil.icon \
  123.           $(IDIR)/hglass.cursor \
  124.           $(IDIR)/nocur.cursor
  125.  
  126. OTHERS          = CHANGES README TODO reve.6 MANIFEST FILES \
  127.           reve.man Makefile.dist
  128.  
  129. SFILES1         = events.c items.c makemove.c main.c procs.c
  130. SFILES2        = boardstuff.c rev_eval.c rev_ip.c rev_iycp.c $(HDRS)
  131. SFILES3         = $(OTHERS)
  132. SFILES4         = tty.c x11.c xview.c
  133. SFILES5        = sunview.c $(IDIR)
  134. SFILES6        = reve.edge1
  135. SFILES7        = reve.edge2
  136.  
  137. SVIEWLIBS       = -lsuntool -lsunwindow -lpixrect
  138. TTYLIBS         = -ltermcap
  139. X11LIBS         = -lX11
  140. XVIEWLIBS       = -lxview -lolgx -lX11
  141.  
  142. help:
  143.         @echo
  144.         @echo "You need to specify one of the following options:"
  145.         @echo
  146.         @echo "  make sunview    - to make the SunView version."
  147.         @echo "  make tty        - to make the dumb tty version."
  148.         @echo "  make x11        - to make the X11 version."
  149.         @echo "  make xview      - to make the XView version."
  150.         @echo
  151.         @echo "This should be followed by:"
  152.         @echo
  153.         @echo "  make install"
  154.         @echo "  make clean"
  155.         @echo
  156.  
  157. all:            $(BINARIES)
  158.  
  159. sunview:        $(STDOBJS) sunview.o
  160.         $(CC) -o sv_reve $(CFLAGS) $(STDOBJS) sunview.o $(SVIEWLIBS)
  161.         -cp sv_reve reve
  162.  
  163. tty:            $(STDOBJS) tty.o
  164.         $(CC) -o tty_reve $(CFLAGS) $(STDOBJS) tty.o $(TTYLIBS)
  165.         -cp tty_reve reve
  166.  
  167. x11:            $(STDOBJS) x11.o
  168.         $(CC) -o xreve $(X11LIBDIR) $(CFLAGS) $(STDOBJS) x11.o \
  169.                    $(X11LIBS)
  170.         -cp xreve reve
  171.  
  172. xview:          $(STDOBJS) xview.o
  173.         $(CC) -o xv_reve $(XVIEWLIBDIR) $(CFLAGS) $(STDOBJS) \
  174.                 xview.o $(XVIEWLIBS)
  175.         -cp xv_reve reve
  176.  
  177. install:
  178.         -cp reve $(BINDIR)
  179.         -chmod 751 $(BINDIR)/reve
  180.         -strip $(BINDIR)/reve
  181.         -cat reve.edge1 reve.edge2 > $(ETABLE)
  182.         -cp $(ETABLE) $(LIBDIR)
  183.         -chmod 644 $(LIBDIR)/$(ETABLE)
  184.         -cp reve.6 $(MANDIR)/reve.$(MANSECT)
  185.         -chmod 644 $(MANDIR)/reve.$(MANSECT)
  186.  
  187. clean:;         rm -f *.o *.Z *.uu Part* *~ reve $(BINARIES) core
  188.  
  189. lint:        lint-sunview lint-tty lint-xview lint-x11
  190. lint-sunview:;    lint $(CDEFS) $(STDSRCS) sunview.c $(SVIEWLIBS)
  191. lint-tty:;    lint $(CDEFS) $(STDSRCS) tty.c $(TTYLIBS)
  192. lint-xview:;    lint $(CDEFS) $(STDSRCS) xview.c $(XVIEWLIBS) 
  193. lint-x11:;    lint $(CDEFS) $(STDSRCS) x11.c $(X11LIBS) 
  194.  
  195. saber:        $(STDSRCS) x11.c
  196.         #load $(LDFLAGS) $(CDEFS) $(STDSRCS) x11.c $(X11LIBS)
  197.  
  198. shar:;          shar.script $(SFILES1) > Part1
  199.         shar.script $(SFILES2) > Part2
  200.         shar.script $(SFILES3) > Part3
  201.         shar.script $(SFILES4) > Part4
  202.         shar.script $(SFILES5) > Part5
  203.         shar.script $(SFILES6) > Part6
  204.         shar.script $(SFILES7) > Part7
  205.  
  206. create:         SCCS
  207.         -sccs create $(STDSRCS) $(GSRCS) $(HDRS) $(IMAGES) $(OTHERS)
  208.  
  209. SCCS:
  210.         mkdir SCCS
  211.         chmod 755 SCCS
  212.  
  213. boardstuff.o:   boardstuff.c color.h reve.h extern.h
  214. events.o:       events.c reve.h color.h extern.h
  215. items.o:        items.c color.h reve.h extern.h
  216. makemove.o:     makemove.c reve.h extern.h
  217. main.o:         main.c reve.h color.h patchlevel.h
  218. procs.o:        procs.c color.h reve.h extern.h
  219. rev_eval.o:     rev_eval.c reve.h
  220. rev_ip.o:       rev_ip.c reve.h
  221. rev_iycp.o:     rev_iycp.c reve.h
  222. sunview.o:      sunview.c reve.h color.h extern.h images.h $(IMAGES)
  223. tty.o:          tty.c reve.h color.h extern.h
  224. x11.o:          x11.c reve.h color.h extern.h images.h $(IMAGES)
  225. xview.o:        xview.c reve.h color.h extern.h images.h $(IMAGES)
  226.