1 OBJS =data.o main.o io.o proce.o utility.o ini.o attack.o book.o makemove.o \
2 unmake.o time.o csa.o valid.o bitop.o iterate.o searchr.o search.o \
3 quiesrch.o evaluate.o swap.o hash.o root.o next.o movgenex.o \
4 genevasn.o gencap.o gennocap.o gendrop.o mate1ply.o rand.o learn1.o \
5 learn2.o evaldiff.o problem.o ponder.o thread.o sckt.o debug.o mate3.o \
6 genchk.o phash.o dfpn.o dfpnhash.o
10 # -DNDEBUG (DEBUG) builds release (debug) version of Bonanza.
11 # -DMINIMUM disables some auxiliary functions that are not necessary
12 # to play a game, e.g., book composition and optimization
13 # of evaluation function.
14 # -DHAVE_SSE2 -msse2 use SSE2 instructions for speed
15 # -DHAVE_SSE4 -msse4.1 use SSE2 and SSE4.1 instructions for speed
16 # -DTLP enables thread-level parallel search.
17 # -DMPV enables multi-PV search.
18 # -DCSA_LAN enables bonanza to talk CSA Shogi TCP/IP protcol.
19 # -DMNJ_LAN enables a client-mode of cluster searches.
20 # -DNO_LOGGING suppresses dumping log files.
21 # -DUSI enables USI mode (not implemented).
22 # -DXBOARD enables WinBoard/XBoard mode (implemented!).
23 # -DINANIWA_SHIFT enables an Inaniwa strategy detection.
24 # -DDFPN build the DFPN worker of mate-problems server.
25 # -DDFPN_CLIENT enables the client-mode of mate-problem server.
27 OPT =-DNDEBUG -DMINIMUM -DTLP -DINANIWA_SHIFT -DXBOARD -DMPV -DNO_LOGGING
30 @echo "try targets as:"
41 $(MAKE) CC=gcc CFLAGS='-std=gnu99 -O2 -Wall $(OPT) -mno-cygwin' LDFLAG1='-lm -lpthread -lwsock32 -mno-cygwin' ICONRES='bres.o' bonanza
44 $(MAKE) CC=gcc CFLAGS='-std=gnu99 -O2 -Wall $(OPT)' LDFLAG1='-lm -lpthread' bonanza
48 gcc -std=gnu99 -O2 -Wall $(OPT) -fprofile-generate -o bonanza -lm -lpthread $(OBJS:.o=.c)
50 gcc -std=gnu99 -O2 -Wall $(OPT) -fprofile-use -o bonanza -lm -lpthread $(OBJS:.o=.c)
53 $(MAKE) CC=icc CFLAGS='-w2 $(OPT) -std=gnu99 -g -O2 -fno-inline-functions' LDFLAG1='-pthread -g' bonanza
56 $(MAKE) CC=icc CFLAGS='-w2 $(OPT) -std=gnu99 -O2 -ipo' LDFLAG1='-static -ipo -pthread' bonanza
61 $(MAKE) CC=icc CFLAGS='-w2 $(OPT) -std=gnu99 -O2 -prof_gen -prof_dir ./profdir' LDFLAG1='-static -pthread' bonanza
64 $(MAKE) CC=icc CFLAGS='-w2 $(OPT) -std=gnu99 -O2 -ipo -prof_use -prof_dir ./profdir' LDFLAG1='-static -ipo -pthread' bonanza
67 $(CC) $(LDFLAG1) -o bonanza $(OBJS) $(ICONRES) $(LDFLAG2)
69 $(OBJS) : shogi.h param.h bitop.h
70 dfpn.o dfpnhash.o: dfpn.h
73 $(CC) -c $(CFLAGS) $*.c
76 rm -f *.o *.il *.da *.gcda *.gcno *.bb *.bbg *.dyn
77 rm -f bonanza gmon.out runprof
81 @if [ ! -d log ]; then mkdir log; fi
82 @echo "peek off" > runprof
83 # @echo "dfpn hash 22" >> runprof
84 # @echo "problem mate" >> runprof
85 # @echo "learn no-ini 32 32 1 2 2" >> runprof
86 @echo "limit time extendable" >> runprof
87 @echo "limit time 0 1" >> runprof
88 @echo "tlp num 2" >> runprof
89 @echo "move 77" >> runprof
90 @echo "new" >> runprof
91 @echo "move 77" >> runprof
92 @echo "new" >> runprof
93 @echo "move 77" >> runprof
94 @echo "new" >> runprof
95 @echo "move 77" >> runprof
96 @echo "new" >> runprof
97 @echo "move 77" >> runprof
98 @echo "new" >> runprof
99 @echo "move 77" >> runprof
100 @echo "new" >> runprof
101 @echo "move 77" >> runprof
102 @echo "quit" >> runprof