# This makefile is to be used for compilation of Crafty 19.x with gcc # under Windows. Tested with Crafty 19.2 and 19.6 and with Dev-C++ # 4.9.8.5, which includes gcc/g++ 3.2 all: NT_i386 NT_i386: $(MAKE) target=NT_i386 \ CC=gcc CXX=g++ CYY=g++\ CFLAGS='$(CFLAGS) -fomit-frame-pointer -O3' \ CXFLAGS=$(CFLAGS) \ LDFLAGS=$(LDFLAGS) \ opt='$(opt) -DCOMPACT_ATTACKS -DUSE_ATTACK_FUNCTIONS \ -DUSE_ASSEMBLY_A -DUSE_ASSEMBLY_B' \ asm='X86.o' \ crafty-make NT_i386_alt: # an alternative, but I got slightly better results # with AMD Athlon 900 and Win 2000 with the other option, see above. $(MAKE) target=NT_i386 \ CC=gcc CXX=g++ CYY=g++\ CFLAGS='$(CFLAGS) -fomit-frame-pointer -m486 -O3' \ CXFLAGS=$(CFLAGS) \ LDFLAGS=$(LDFLAGS) \ opt='$(opt) -DCOMPACT_ATTACKS -DUSE_ATTACK_FUNCTIONS \ -DUSE_ASSEMBLY_A -DUSE_ASSEMBLY_B' \ asm='X86.o' \ crafty-make opts = $(opt) -D$(target) opts = $(opt) -D$(target) objects = searchr.o search.o thread.o searchmp.o repeat.o next.o nexte.o \ nextr.o history.o quiesce.o evaluate.o movgen.o make.o unmake.o hash.o \ attacks.o swap.o boolean.o utility.o valid.o probe.o book.o data.o \ drawn.o edit.o epd.o epdglue.o init.o input.o interupt.o iterate.o \ main.o option.o output.o phase.o ponder.o preeval.o resign.o root.o \ learn.o setboard.o test.o testepd.o time.o validate.o annotate.o \ analyze.o evtest.o bench.o egtb.o dgt.o $(asm) includes = data.h chess.h epdincludes = epd.h epddefs.h epdglue.h eval_users = data.o evaluate.o preeval.o crafty-make: @$(MAKE) \ opt='$(opt)' asm='$(asm)' \ crafty crafty: $(objects) $(CYY) $(LDFLAGS) -o crafty $(objects) # $(CYY) $(LDFLAGS) -o crafty $(objects) -lm $(LIBS) dgt: dgtdrv.o @cc -O -o dgt dgtdrv.c egtb.o: egtb.cpp $(CXX) -c $(CXFLAGS) $(opts) egtb.cpp clean: -rm -f *.o crafty X86-elf.X X86-aout.S $(objects): $(includes) $(eval_users): evaluate.h epd.o epdglue.o option.o init.o : $(epdincludes) .c.o: $(CC) $(CFLAGS) $(opts) -c $*.c .s.o: $(AS) $(AFLAGS) --defsym ALIGN=4 -o $*.o $*.s