Blame | Last modification | View Log | Download | RSS feed
# Makefile version 3 for Crafty 16.15
# Crafty v16.x makefile for Windows NT Intel
# Written by Jason Deines (jdeines@mindspring.com) April 1998
# Version modified by Gregor Overney (gregor_overney@hp.com) Nov 1998
# Version modified by Peter Karrer (pkarrer@active.ch) Dec 1998
# Version modified by Gregor Overney (gregor_overney@hp.com) Sep 1999
#
# This makefile is designed to be used from the command line with
# Microsoft's nmake. Either rename this # file to "Makefile" or name it
# explicitly when invoking nmake:
# nmake -f Makefile.xp
#
# The makefile is set up for Microsoft Visual C++ 6.0 Intel.
#
# The default target produces a file called "crafty.exe".
# Build target is defined here.
TARGET = NT_i386
# Command-line compiler and linker invocation commands:
CC = cl
LD = link
# Base compiler flags needed for build:
BFLAGS = /D_CONSOLE /DWIN64 /D_CRT_SECURE_NO_DEPRECATE
# Compiler flags:
# /O2 optimize for speed
# /Oa assume no aliasing (no good for VC 6 without SP3)
# /Gr fastcall calling convention
# /G5 target Pentium (but will run on all x86 architectures)
# /G6 target Pentium Pro (but will run on all x86 architectures)
# /Ob2 inline function calls if suitable
#
# For debugging use these flags instead:
# CFLAGS = /Od /Zi
# LDFLAGS = /DEBUG /DEBUGTYPE:CV
#
#CFLAGS = /O2 /G6 /Gr /Ob2
#CFLAGS = /Od /Zi
CFLAGS = /Ox /Gr /GL
# Linker flags, normally not needed except for debug builds:
LDFLAGS = /LTCG
#LDFLAGS = /DEBUG /DEBUGTYPE:CV
# See the default crafty makefile for a description of the options below.
# With VC++, defines like COMPACT_ATTACKS, etc, makes the code slower, so
# those # options are disabled by default. FAST is normally not defined
# so that hash statistics are reported -- for the fastest possible
# executable, define FAST below. for 6 piece EGTB support, add /DEGTB6.
#COPTS =
# For an SMP build use/add the following build options.
# NT_INTEREX is defined if you want to use the built-in InterlockedExchange()
# function for thread resource locking, instead of the inline asm routine.
# (This shouldn't be needed, at least on Intel.)
# /MT is a compiler flag needed for multithreaded builds.
#COPTS = /MT /DSMP /DCPUS=4 /DNT_INTEREX
COPTS = /MT /DSMP /DCPUS=4
# To enable assembly optimizations in vcinline.h, use /DVC_INLINE_ASM.
AOPTS = /DVC_INLINE_ASM
ALLOPTS = $(COPTS) $(AOPTS) /D$(TARGET)
objects = crafty.obj egtb.obj
includes = chess.h data.h epd.h epddefs.h epdglue.h vcinline.h
crafty : $(objects)
$(LD) $(LDFLAGS) $(objects) /out:crafty.exe
$(objects) : $(includes)
.c.obj :
$(CC) $(BFLAGS) $(CFLAGS) $(ALLOPTS) /c $*.c
.cpp.obj :
$(CC) $(BFLAGS) $(CFLAGS) $(ALLOPTS) /Zm500 /c $*.cpp
clean:
del /q $(objects)
del /q log.*
del /q game.*
del /q *.bak