home *** CD-ROM | disk | FTP | other *** search
/ Skunkware 5 / Skunkware 5.iso / src / Games / reve / Imakefile < prev    next >
Encoding:
Makefile  |  1995-06-27  |  4.8 KB  |  158 lines

  1.  
  2. /*  @(#)Imakefile 1.11 91/11/07
  3.  *
  4.  *  Copyright (C) 1990, 1991 - Rich Burridge & Yves Gallot.
  5.  *  All rights reserved.
  6.  *
  7.  *  Permission is granted to copy this source, for redistribution
  8.  *  in source form only, provided the news headers in "substantially
  9.  *  unaltered format" are retained, the introductory messages are not
  10.  *  removed, and no monies are exchanged.
  11.  *
  12.  *  Permission is also granted to copy this source, without the
  13.  *  news headers, for the purposes of making an executable copy by
  14.  *  means of compilation, provided that such copy will not be used
  15.  *  for the purposes of competition in any othello tournaments, without
  16.  *  prior permission from the authors.
  17.  *
  18.  *  No responsibility is taken for any errors inherent either
  19.  *  to the comments or the code of this program, but if reported
  20.  *  (see README file), then an attempt will be made to fix them.
  21.  */
  22. /*
  23.  *  This is where to install reve's support files
  24.  */
  25. REVELIBDIR=/usr/skunk/lib
  26.  
  27. /*------------------------------------------------------------------------
  28.  *  There are various small changes needed when compiling reve on
  29.  *  different systems. These have been isolated here, and should be
  30.  *  uncommented if needed.
  31.  *
  32.  *
  33.  *  If your system doesn't have the getdtablesize() library call, then
  34.  *  you will need to uncomment the following definition. This will be
  35.  *  needed for SVR4.
  36. NOGETDTAB       = -DNOGETDTAB
  37.  */
  38. /*
  39.  *
  40.  *  Not all machines have the index() string library function. If you
  41.  *  don't have this function then you should uncomment the NOINDEX
  42.  *  definition below.
  43. NOINDEX         = -DNOINDEX
  44.  */
  45. /*
  46.  *
  47.  *  Not every version of Unix (in particular System V derivitives) has the
  48.  *  select() system call. If your machine doesn't have this call, then you
  49.  *  need to uncomment the following definition.
  50.  *
  51.  */
  52. NOSELECT        = -DNOSELECT
  53. /*
  54.  *  If you have the poll(2) system call, then uncomment the following
  55.  *  definition. Note that you will also have to uncomment the NOSELECT
  56.  *  definition. This is needed for SVR4 machines.
  57.  *
  58.  */
  59. HASPOLL         = -DHASPOLL
  60. /*
  61.  *
  62.  *  Some machines do not have the usleep library function. If this is
  63.  *  true, then you will need to uncomment this definition.
  64.  *
  65.  */
  66. NO_USLEEP      = -DNO_USLEEP
  67.  
  68. #ifdef UltrixArchitecture
  69. NO_USLEEP    = -DNO_USLEEP
  70. #endif
  71.  
  72. /*  If your machine doesn't have a definition for the timeval struct, then
  73.  *  you will need to uncomment this definition. It's needed to get Reve to
  74.  *  work an an AT&T UNIX PC (aka 7300 or 3b1).
  75.  *
  76. NO_TIMEVAL     = -DNO_TIMEVAL
  77.  */
  78. /*
  79.  *  If you not running under a BSD4.3 derived system, the parameters
  80.  *  to the select call are different, and this definition should be
  81.  *  uncommented. You need to uncomment this for SunOS v3.x.
  82.  *
  83.  */
  84. SELTYPE        = -DNO_43SELECT
  85.  
  86.  
  87. /*  YOU SHOULD NOT NEED TO MODIFY ANYTHING BELOW HERE.  */
  88.      
  89. #if HasVoidSignalReturn == NO
  90. SIGRET    =    -DINT_SIGNAL
  91. #endif
  92.      
  93. /*  Compilation flags and standard macro definitions.  */
  94.  
  95. SYS_LIBRARIES   = -lx
  96. TTYLIBS        = -ltermcap
  97. CDEFS        = $(NOGETDTAB) $(NOINDEX) $(NOSELECT) $(HASPOLL) \
  98.           $(NO_USLEEP) $(NO_TIMEVAL) $(SELTYPE) $(SIGRET) \
  99.           $(EDGENAME) $(HELPNAME) $(REVEPROC)
  100. DEFINES         = $(CDEFS) -DX11
  101. ETABLE        = reve.edgetable
  102. HELPFILE    = reve.help
  103.  
  104. /*
  105.  *  Full pathname of the reve edge table file. This can also be overridden
  106.  *  with a command line option.
  107.  */
  108. EDGENAMEFILE    = $(REVELIBDIR)$(PATHSEP)reve$(PATHSEP)$(ETABLE)
  109. EDGENAME        = -DEDGENAME=\"$(EDGENAMEFILE)\"
  110.  
  111. /*
  112.  *  Full pathname of the reve online help file.  This can also be
  113.  *  overridden with a command line option.
  114.  */
  115. HELPNAMEFILE    = $(REVELIBDIR)$(PATHSEP)reve$(PATHSEP)$(HELPFILE)
  116. HELPNAME    = -DHELPNAME=\"$(HELPNAMEFILE)\"
  117.  
  118. /*
  119.  *  Full pathname of reve_proc. This can be overridden with a command line
  120.  *  option.
  121.  */
  122. REVEPROCFILE    = $(REVELIBDIR)$(PATHSEP)reve$(PATHSEP)reve_proc
  123. REVEPROC        = -DREVEPROC=\"$(REVEPROCFILE)\"
  124.  
  125. REVESRCS     = reve_proc.c rev_eval.c rev_ip.c rev_iycp.c
  126. STDSRCS      = boardstuff.c events.c items.o makemove.c main.c procs.c
  127. REVEOBJS     = reve_proc.o rev_eval.o rev_ip.o rev_iycp.o
  128. STDOBJS      = boardstuff.o events.o items.o makemove.o main.o procs.o socket.o
  129.  
  130. SRCS1        = $(STDSRCS) $(REVESRCS) x11.c
  131. OBJS1        = $(STDOBJS) x11.o get.o
  132. SRCS2        = $(STDSRCS) $(REVESRCS) tty.c
  133. OBJS2        = $(STDOBJS) tty.o
  134.  
  135.  
  136. PROGRAMS    = reve
  137.  
  138. ComplexProgramTarget_1(reve, $(XLIB), /**/)
  139. MakeDirectories(install,$(REVELIBDIR)$(PATHSEP)reve)
  140. InstallNonExec($(ETABLE),$(REVELIBDIR)$(PATHSEP)reve)
  141. InstallNonExec(reve.man.text,$(REVELIBDIR)$(PATHSEP)reve$(PATHSEP)$(HELPFILE))
  142. InstallAppDefaults(Reve)
  143.  
  144. x11: reve reve_proc
  145.  
  146. tty: tty_reve
  147.     -cp tty_reve reve
  148.  
  149. NormalProgramTarget(tty_reve, $(OBJS2), /**/, /**/, $(TTYLIBS))
  150.  
  151. NormalProgramTarget(reve_proc, $(REVEOBJS), /**/, /**/, /**/)
  152. InstallProgramWithFlags(reve_proc, $(REVEPROCFILE), )
  153.  
  154. install:: install.man
  155.  
  156. $(ETABLE): reve.edge1 reve.edge2
  157.     cat reve.edge1 reve.edge2 > $(ETABLE)
  158.