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 |