X-Git-Url: http://winboard.nl/cgi-bin?p=bonanza.git;a=blobdiff_plain;f=Makefile.vs;h=f533d941cfe2487c8c73c96049d95f3f770756b1;hp=6a966bad96d83be0bdb984ec3ce95342755395dd;hb=31daebfc1031441aa180e3af2e547a8cd2b92c32;hpb=18b507e1b20fc6c32ee50f00fb910a59110c1a1d diff --git a/Makefile.vs b/Makefile.vs index 6a966ba..f533d94 100644 --- a/Makefile.vs +++ b/Makefile.vs @@ -1,24 +1,30 @@ help: @echo try targets as: @echo cl + @echo cl-pgo @echo icl + @echo icl-pgo # Compile Options # -# /DNDEBUG (DEBUG) builds release (debug) version of Bonanza. +# /DDEBUG (DEBUG) builds release (debug) version of Bonanza. # /DMINIMUM disables some auxiliary functions that are not necessary to # play a game, e.g., book composition and optimization of # evaluation function. +# /DHAVE_SSE2 use SSE2 instructions for speed (N/A MS C/C++) +# /DHAVE_SSE4 use SSE2 and SSE4.1 instructions for speed (N/A MS C/C++) # /DTLP enables thread-level parallel search. # /DMPV enables multi-PV search. # /DCSA_LAN enables bonanza to talk CSA Shogi TCP/IP protcol. -# /DMNJ_LAN enables a client-mode of distributed computing. -# /DDEKUNOBOU enables dekunobou interface (avairable only for Windows). -# /DCSASHOGI builds an engine for CSA Shogi (avairable only for -# Windows). +# /DMNJ_LAN enables client-mode of distributed computing. +# /DUSI enables USI mode (not implemented). +# /DCSASHOGI builds an engine for CSA Shogi (only Windows). # /DNO_LOGGING suppresses dumping log files. +# /DINANIWA_SHIFT enables an Inaniwa strategy detection. +# /DDFPN build the DFPN worker of mate-problems server. +# /DDFPN_CLIENT enables the client-mode of mate-problem server. -FLAG = /DNDEBUG /DMINIMUM /DTLP /DMPV /DCSASHOGI /DNO_LOGGING +FLAG = /DNDEBUG /DMINIMUM /DTLP /DHAVE_SSE2 /DINANIWA_SHIFT /DCSASHOGI /DNO_LOGGING OBJS = data.obj main.obj io.obj proce.obj ini.obj utility.obj attack.obj\ gencap.obj gennocap.obj gendrop.obj genevasn.obj mate3.obj genchk.obj\ @@ -26,22 +32,66 @@ OBJS = data.obj main.obj io.obj proce.obj ini.obj utility.obj attack.obj\ next.obj search.obj searchr.obj book.obj iterate.obj quiesrch.obj\ swap.obj evaluate.obj root.obj hash.obj mate1ply.obj bitop.obj\ rand.obj learn1.obj learn2.obj evaldiff.obj problem.obj ponder.obj\ - thread.obj dek.obj sckt.obj debug.obj phash.obj + thread.obj sckt.obj debug.obj phash.obj dfpn.obj dfpnhash.obj cl: $(MAKE) -f Makefile.vs bonanza.exe CC="cl" LD="link"\ - CFLAGS="$(FLAG) /MT /W4 /nologo /O2 /Ob2 /Gr /GS- /GL"\ + CFLAGS="$(FLAG) /MT /W4 /nologo /O2 /Ob2 /GS- /GL"\ LDFLAGS="/NOLOGO /out:bonanza.exe /LTCG" +cl-pgo: + $(MAKE) -f Makefile.vs clean + $(MAKE) -f Makefile.vs bonanza.exe CC="cl" LD="link"\ + CFLAGS="$(FLAG) /MT /W4 /nologo /O2 /Ob2 /GS- /GL"\ + LDFLAGS="/NOLOGO /out:bonanza.exe /LTCG:PGI" + $(MAKE) -f Makefile.vs pgo-run + del bonanza.exe + $(MAKE) -f Makefile.vs bonanza.exe LD="link"\ + LDFLAGS="/NOLOGO /out:bonanza.exe /LTCG:PGO" + icl: $(MAKE) -f Makefile.vs bonanza.exe CC="icl" LD="icl"\ - CFLAGS="/nologo $(FLAG) /Wall /O2 /Qipo /Gr"\ + CFLAGS="/nologo $(FLAG) /Wall /O2 /Qipo"\ LDFLAGS="/nologo /Febonanza.exe" +icl-pgo: + $(MAKE) -f Makefile.vs clean + $(MAKE) -f Makefile.vs bonanza.exe CC="icl" LD="icl"\ + CFLAGS="/nologo $(FLAG) /Wall /O2 /Qprof-gen"\ + LDFLAGS="/nologo /Febonanza.exe /Qprof-gen" + $(MAKE) -f Makefile.vs pgo-run + del *.obj bonanza.exe + $(MAKE) -f Makefile.vs bonanza.exe CC="icl" LD="icl"\ + CFLAGS="/nologo $(FLAG) /Wall /O2 /Qipo /Qprof-use"\ + LDFLAGS="/nologo /Febonanza.exe /Qprof-use" + +pgo-run: +# echo learn no-ini 32 32 1 2 2 >> runprof + echo limit time extendable >> runprof + echo limit time 0 1 >> runprof + echo tlp num 2 >> runprof + echo peek off >> runprof + echo move 77 >> runprof + echo new >> runprof + echo move 77 >> runprof + echo new >> runprof + echo move 77 >> runprof + echo new >> runprof + echo move 77 >> runprof + echo new >> runprof + echo move 77 >> runprof + echo new >> runprof + echo move 77 >> runprof + echo new >> runprof + echo move 77 >> runprof + echo quit >> runprof + bonanza.exe csa_shogi < runprof + bonanza.exe : $(OBJS) bonanza.res $(LD) $(LDFLAGS) $(OBJS) bonanza.res User32.lib Ws2_32.lib -$(OBJS) : shogi.h param.h +$(OBJS) : shogi.h param.h bitop.h +dfpn.obj dfpnhash.obj: dfpn.h bonanza.res : bonanza.rc bonanza.ico rc /fobonanza.res bonanza.rc @@ -50,6 +100,12 @@ bonanza.res : bonanza.rc bonanza.ico $(CC) $(CFLAGS) /c $*.c clean : + del /q runprof + del /q *.pdb + del /q *.ilk + del /q *.pgd + del /q *.pgc + del /q *.dyn del /q *.obj del /q *.res del /q bonanza.exe