home *** CD-ROM | disk | FTP | other *** search
/ MORE WinGames / WINGAMES.iso / chess / chess.mak < prev    next >
Makefile  |  1991-06-16  |  7KB  |  237 lines

  1. #
  2. #  C source for GNU CHESS
  3. #
  4. #  Revision: 1990-12-26
  5. #
  6. #  Modified by Daryl Baker for use in MS WINDOWS environment
  7. #
  8. #  This file is part of CHESS.
  9. #
  10. #  CHESS is distributed in the hope that it will be useful, but WITHOUT ANY
  11. #  WARRANTY.  No author or distributor accepts responsibility to anyone for
  12. #  the consequences of using it or for whether it serves any particular
  13. #  purpose or works at all, unless he says so in writing.  Refer to the CHESS
  14. #  General Public License for full details.
  15. #
  16. #  Everyone is granted permission to copy, modify and redistribute CHESS, but
  17. #  only under the conditions described in the CHESS General Public License.
  18. #  A copy of this license is supposed to have been given to you along with
  19. #  CHESS so you can know your rights and responsibilities.  It should be in a
  20. #  file named COPYING.  Among other things, the copyright notice and this
  21. #  notice must be preserved on all copies.
  22. #
  23. #
  24. PROJ = chess
  25. PROJFILE = chess.mak
  26. VER = 321
  27.  
  28. CC  = cl
  29. CFLAGS  = /AS /W4 /Oxw /G2 /Zp /nologo
  30. #CFLAGS  = /AM /W4 /G2s /Zp /nologo /Osge
  31.  
  32. LRF  = echo > NUL
  33. LINKER  = link
  34. LFLAGS  =   /BATCH /nologo /align:16 /map /NOF /NOP
  35. LLIBS_R  =  /NOD:SLIBCE SLIBCEW
  36. LLIBS_G  = LIBW.LIB
  37. MAPFILE_R  = chess.map
  38.  
  39. ASM  = masm
  40. AFLAGS_G  = /Mx /T
  41.  
  42. RC  = rc
  43. IMPLIB  = implib
  44.  
  45. DEF_FILE  = CHESS.DEF
  46. OBJS  = CHESS.obj INIT.obj BOARD.obj ABOUT.obj PIECE.obj \
  47.         HITTEST.obj COLOR.obj TIMECNT.obj SEARCH.obj INITIALI.obj \
  48.         EVAL.obj GLOBALS.obj DSP.obj MSWDSP.obj BOOK.obj CREATE.obj \
  49.         SAVEOPEN.obj NUMDLG.obj INITMENU.obj REVIEW.obj STATS.obj \
  50.         TEST.obj PROMOTE.obj MANUAL.obj
  51.  
  52. RT_OBJS = VERSION.obj
  53.  
  54. RESS = chess.res
  55.  
  56. BMPS = king.bmp kingm.bmp kingo.bmp pawn.bmp pawno.bmp pawnm.bmp \
  57.        rook.bmp rooko.bmp rookm.bmp knight.bmp knightm.bmp knighto.bmp \
  58.        bishop.bmp bishopm.bmp bishopo.bmp queen.bmp queenm.bmp queeno.bmp
  59.  
  60. HELPFILES = chess.rtf article.rtf article2.rtf copying.rtf move-gen.rtf heuristi.rtf match.rtf
  61. HELPSOURCE = chess.doc article.doc article2.doc copying.doc move-gen.doc heuristi.doc match.doc
  62.  
  63. all: $(PROJ).exe $(PROJ).hlp
  64.  
  65. .SILIENT:
  66.  
  67. .SUFFIXES: .rc .res .c .obj .doc .rtf
  68.  
  69. CHESS.RES : chess.rc $(BMPS) color.dlg chess.ico timecnt.dlg saveopen.dlg \
  70.             getnum.dlg review.dlg about.dlg stats.dlg test.dlg promote.dlg \
  71.             manual.dlg
  72.  
  73. # The following routines contain window functions or Call backs and is
  74. # compiled with the Gw switch
  75.  
  76. ABOUT.obj : ABOUT.C
  77.         $(CC) /c $(CFLAGS) /Gw $*.c
  78.  
  79. CHESS.obj : CHESS.C gnuchess.h defs.h chess.h saveopen.h  color.h 
  80.         $(CC) /c $(CFLAGS) /Gw /EM $*.c
  81.  
  82. COLOR.obj : COLOR.C chess.h color.h
  83.         $(CC) /c $(CFLAGS) /Gw $*.c
  84.  
  85. MANUAL.obj : MANUAL.C chess.h
  86.         $(CC) /c $(CFLAGS) /Gw $*.c
  87.  
  88. NUMDLG.obj : NUMDLG.C chess.h
  89.         $(CC) /c $(CFLAGS) /Gw $*.c
  90.  
  91. PROMOTE.obj : PROMOTE.C chess.h
  92.         $(CC) /c $(CFLAGS) /Gw $*.c
  93.  
  94. REVIEW.obj : REVIEW.C gnuchess.h chess.h defs.h
  95.         $(CC) /c $(CFLAGS) /Gw $*.c
  96.  
  97. SAVEOPEN.obj : SAVEOPEN.C saveopen.h
  98.         $(CC) /c $(CFLAGS) /Gw $*.c
  99.  
  100. STATS.obj : STATS.C gnuchess.h stats.h
  101.         $(CC) /c $(CFLAGS) /Gw $*.c
  102.  
  103. TEST.obj : TEST.C gnuchess.h chess.h defs.h
  104.         $(CC) /c $(CFLAGS) /Od /Gw $*.c
  105.  
  106. TIMECNT.obj : TIMECNT.C timecnt.h chess.h
  107.         $(CC) /c $(CFLAGS) /Gw $*.c
  108.  
  109. # The following are compiled with the GW switch
  110.  
  111. BOARD.obj : BOARD.C defs.h
  112.         $(CC) /c $(CFLAGS) /GW $*.c
  113.  
  114. BOOK.obj : BOOK.C gnuchess.h defs.h chess.h
  115.         $(CC) /c $(CFLAGS) /GW $*.c
  116.  
  117. CREATE.obj : CREATE.C defs.h chess.h
  118.         $(CC) /c $(CFLAGS) /GW $*.c
  119.  
  120. DSP.obj : DSP.C gnuchess.h defs.h chess.h
  121.         $(CC) /c $(CFLAGS) /GW $*.c
  122.  
  123. EVAL.obj : EVAL.C gnuchess.h defs.h
  124.         $(CC) /c $(CFLAGS) /EM /GW $*.c
  125.  
  126. GLOBALS.obj : GLOBALS.C gnuchess.h
  127.         $(CC) /c $(CFLAGS) /GW $*.c
  128.  
  129. HITTEST.obj : HITTEST.C defs.h
  130.         $(CC) /c $(CFLAGS) /GW $*.c
  131.  
  132. INIT.obj : INIT.C
  133.         $(CC) /c $(CFLAGS) /GW $*.c
  134.  
  135. INITIALI.obj : INITIALI.C gnuchess.h defs.h
  136.         $(CC) /c $(CFLAGS) /EM /GW $*.c
  137.  
  138. INITMENU.obj : INITMENU.C gnuchess.h chess.h
  139.         $(CC) /c $(CFLAGS) /GW $*.c
  140.  
  141. MSWDSP.obj : MSWDSP.C gnuchess.h chess.h defs.h stats.h
  142.         $(CC) /c $(CFLAGS) /GW $*.c
  143.  
  144. PIECE.obj : PIECE.C chess.h defs.h
  145.         $(CC) /c $(CFLAGS) /GW $*.c
  146.  
  147. SEARCH.obj : SEARCH.C gnuchess.h defs.h
  148.         $(CC) /c $(CFLAGS) /EM /GW $*.c
  149.  
  150. #
  151. # Code to generate new time stamp when any module updated
  152. #
  153. makever.exe: makever.c
  154.         cl /nologo makever.c
  155.  
  156. VERSION.obj: VERSION.c
  157.         $(CC) /c $(CFLAGS) /GW $*.c
  158.  
  159. VERSION.c:  $(OBJS) $(RESS) $(BMPS) makever.exe
  160.         makever >version.c
  161.  
  162. # Create the help file
  163.  
  164. chess.hlp: chess.hpj $(HELPFILES)
  165.         -del chess.ph
  166.         hc chess.hpj
  167.  
  168. chexe$(VER).zip:
  169. distexe: chess.exe readme.txt gnuchess.boo chess.hlp copying
  170.         -del chexe$(VER).zip
  171.         pkzip -a chexe$(VER) readme.txt chess.exe gnuchess.boo chess.hlp copying
  172.  
  173. distsrc: chess.exe chexe$(VER).zip readme.txt chess.mak chess.hlp
  174.         -del chess$(VER).zip
  175.         pkzip -a chess$(VER) @files.lst
  176.  
  177. #        pkzip -a chess$(VER) readme.txt $(PROJ).exe *.boo $(PROJ).hlp files.lst
  178. #        pkzip -a chess$(VER) $(PROJ).def $(PROJ).rc *.dlg $(PROJ).mak $(PROJ).ico 
  179. #        pkzip -a chess$(VER) copying winport change.log todo *.h *.c *.bmp 
  180. #        pkzip -a chess$(VER) chess.hpj $(HELPFILES)
  181. #        pkzip -a chess$(VER) $(HELPSOURCE)
  182.  
  183. disttar: chess.exe chexe$(VER).zip readme.txt chess.mak chess.hlp
  184.         -del ch$(VER)t.*
  185.         -del chess.ta?
  186.         tar -cf chess.tar -u bmp -u doc -u rtf -u hlp -u exe -T files.lst
  187.         c:\ucs\compress chess.tar
  188.         ren chess.taz ch$(VER)t.Z
  189.  
  190. distmail: chess.exe chexe$(VER).zip readme.txt chess.mak chess.hlp
  191.         -del ch$(VER)t.*
  192.         -del chess.ta?
  193.         tar -cf chess.tar -u bmp -u doc -u rtf -u hlp -u exe -T files.lst
  194.         c:\ucs\compress chess.tar
  195.         ren chess.taz ch$(VER)t.Z
  196.         uuxfer20 -s61000 -m -o -ech$(VER)t.Z 
  197.  
  198. clean:
  199.         -del *.obj
  200.         -del *.bak
  201.         -del *.res
  202.         -del *.err
  203.         -del *.ph
  204.  
  205. $(PROJ).exe : $(DEF_FILE) $(OBJS) $(RT_OBJS) $(RESS)
  206.         $(LRF) @<<$(PROJ).lrf
  207. $(LFLAGS) $(RT_OBJS: = +^
  208. ) $(OBJS: = +^
  209. )
  210. $@
  211. $(MAPFILE_R)
  212. $(LLIBS_G: = +^
  213. ) +
  214. $(LLIBS_R: = +^
  215. ) +
  216. $(LIBS: = +^
  217. )
  218. $(DEF_FILE) ; 
  219. <<
  220.         $(LINKER) @$(PROJ).lrf
  221.         $(RC) $(RESS) $@
  222.  
  223. .c.obj :
  224.         $(CC) /c $(CFLAGS) /Gw $<
  225.  
  226. .rc.res :
  227.         $(RC) /r $<
  228.  
  229. #
  230. # this rule is here to trap changes to the doc files.  Ideally it
  231. # would call a program todo RTF conversion.
  232. #
  233. .doc.rtf :
  234.         @echo $< is out of date. Resave as RTF.
  235.         @zzz### dummy command line need abort command
  236.  
  237.