Subversion Repositories Games.Chess Giants

Rev

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