Details | Last modification | View Log | RSS feed
| Rev | Author | Line No. | Line |
|---|---|---|---|
| 110 | pmbaty | 1 | # Makefile version 3 for Crafty 16.15 |
| 2 | # Crafty v16.x makefile for Windows NT Intel |
||
| 3 | # Written by Jason Deines (jdeines@mindspring.com) April 1998 |
||
| 4 | # Version modified by Gregor Overney (gregor_overney@hp.com) Nov 1998 |
||
| 5 | # Version modified by Peter Karrer (pkarrer@active.ch) Dec 1998 |
||
| 6 | # Version modified by Gregor Overney (gregor_overney@hp.com) Sep 1999 |
||
| 7 | # |
||
| 8 | # This makefile is designed to be used from the command line with |
||
| 9 | # Microsoft's nmake. Either rename this # file to "Makefile" or name it |
||
| 10 | # explicitly when invoking nmake: |
||
| 11 | # nmake -f Makefile.xp |
||
| 12 | # |
||
| 13 | # The makefile is set up for Microsoft Visual C++ 6.0 Intel. |
||
| 14 | # |
||
| 15 | # The default target produces a file called "crafty.exe". |
||
| 16 | |||
| 17 | # Build target is defined here. |
||
| 18 | TARGET = NT_i386 |
||
| 19 | |||
| 20 | # Command-line compiler and linker invocation commands: |
||
| 21 | CC = cl |
||
| 22 | LD = link |
||
| 23 | |||
| 24 | # Base compiler flags needed for build: |
||
| 25 | BFLAGS = /D_CONSOLE /DWIN64 /D_CRT_SECURE_NO_DEPRECATE |
||
| 26 | |||
| 27 | # Compiler flags: |
||
| 28 | # /O2 optimize for speed |
||
| 29 | # /Oa assume no aliasing (no good for VC 6 without SP3) |
||
| 30 | # /Gr fastcall calling convention |
||
| 31 | # /G5 target Pentium (but will run on all x86 architectures) |
||
| 32 | # /G6 target Pentium Pro (but will run on all x86 architectures) |
||
| 33 | # /Ob2 inline function calls if suitable |
||
| 34 | # |
||
| 35 | # For debugging use these flags instead: |
||
| 36 | # CFLAGS = /Od /Zi |
||
| 37 | # LDFLAGS = /DEBUG /DEBUGTYPE:CV |
||
| 38 | # |
||
| 39 | |||
| 40 | #CFLAGS = /O2 /G6 /Gr /Ob2 |
||
| 41 | #CFLAGS = /Od /Zi |
||
| 42 | CFLAGS = /Ox /Gr /GL |
||
| 43 | |||
| 44 | # Linker flags, normally not needed except for debug builds: |
||
| 45 | LDFLAGS = /LTCG |
||
| 46 | #LDFLAGS = /DEBUG /DEBUGTYPE:CV |
||
| 47 | |||
| 48 | # See the default crafty makefile for a description of the options below. |
||
| 49 | # With VC++, defines like COMPACT_ATTACKS, etc, makes the code slower, so |
||
| 50 | # those # options are disabled by default. FAST is normally not defined |
||
| 51 | # so that hash statistics are reported -- for the fastest possible |
||
| 52 | # executable, define FAST below. for 6 piece EGTB support, add /DEGTB6. |
||
| 53 | |||
| 54 | #COPTS = |
||
| 55 | |||
| 56 | # For an SMP build use/add the following build options. |
||
| 57 | # NT_INTEREX is defined if you want to use the built-in InterlockedExchange() |
||
| 58 | # function for thread resource locking, instead of the inline asm routine. |
||
| 59 | # (This shouldn't be needed, at least on Intel.) |
||
| 60 | # /MT is a compiler flag needed for multithreaded builds. |
||
| 61 | |||
| 62 | #COPTS = /MT /DSMP /DCPUS=4 /DNT_INTEREX |
||
| 63 | COPTS = /MT /DSMP /DCPUS=4 |
||
| 64 | |||
| 65 | # To enable assembly optimizations in vcinline.h, use /DVC_INLINE_ASM. |
||
| 66 | |||
| 67 | AOPTS = /DVC_INLINE_ASM |
||
| 68 | |||
| 69 | ALLOPTS = $(COPTS) $(AOPTS) /D$(TARGET) |
||
| 70 | |||
| 71 | objects = crafty.obj egtb.obj |
||
| 72 | |||
| 73 | includes = chess.h data.h epd.h epddefs.h epdglue.h vcinline.h |
||
| 74 | |||
| 75 | crafty : $(objects) |
||
| 76 | $(LD) $(LDFLAGS) $(objects) /out:crafty.exe |
||
| 77 | |||
| 78 | $(objects) : $(includes) |
||
| 79 | |||
| 80 | .c.obj : |
||
| 81 | $(CC) $(BFLAGS) $(CFLAGS) $(ALLOPTS) /c $*.c |
||
| 82 | |||
| 83 | .cpp.obj : |
||
| 84 | $(CC) $(BFLAGS) $(CFLAGS) $(ALLOPTS) /Zm500 /c $*.cpp |
||
| 85 | |||
| 86 | clean: |
||
| 87 | del /q $(objects) |
||
| 88 | del /q log.* |
||
| 89 | del /q game.* |
||
| 90 | del /q *.bak |