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 |