]> git.sesse.net Git - stockfish/blobdiff - src/Makefile
Current capture for Counter-Move history
[stockfish] / src / Makefile
index 25436e25d5da58d9837408e7e18f0d0d148c6521..70246f5629337e627e0fb85541a7dca6c0b7c9dc 100644 (file)
@@ -1,7 +1,7 @@
 # Stockfish, a UCI chess playing engine derived from Glaurung 2.1
 # Copyright (C) 2004-2008 Tord Romstad (Glaurung author)
 # Copyright (C) 2008-2015 Marco Costalba, Joona Kiiski, Tord Romstad
-# Copyright (C) 2015-2018 Marco Costalba, Joona Kiiski, Gary Linscott, Tord Romstad
+# Copyright (C) 2015-2019 Marco Costalba, Joona Kiiski, Gary Linscott, Tord Romstad
 #
 # Stockfish is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
 ### ==========================================================================
 
 ### Executable name
+ifeq ($(COMP),mingw)
+EXE = stockfish.exe
+else
 EXE = stockfish
+endif
 
 ### Installation dir definitions
 PREFIX = /usr/local
@@ -132,6 +136,8 @@ endif
 ifeq ($(ARCH),ppc-64)
        arch = ppc64
        bits = 64
+       popcnt = yes
+       prefetch = yes
 endif
 
 
@@ -309,7 +315,9 @@ endif
 
 ### 3.6 popcnt
 ifeq ($(popcnt),yes)
-       ifeq ($(comp),icc)
+       ifeq ($(arch),ppc64)
+               CXXFLAGS += -DUSE_POPCNT
+       else ifeq ($(comp),icc)
                CXXFLAGS += -msse3 -DUSE_POPCNT
        else
                CXXFLAGS += -msse3 -mpopcnt -DUSE_POPCNT
@@ -320,7 +328,7 @@ endif
 ifeq ($(pext),yes)
        CXXFLAGS += -DUSE_PEXT
        ifeq ($(comp),$(filter $(comp),gcc clang mingw))
-               CXXFLAGS += -mbmi2
+               CXXFLAGS += -msse4 -mbmi2
        endif
 endif
 
@@ -371,10 +379,10 @@ help:
        @echo ""
        @echo "Supported archs:"
        @echo ""
-       @echo "x86-64                  > x86 64-bit"
-       @echo "x86-64-modern           > x86 64-bit with popcnt support"
-       @echo "x86-64-bmi2             > x86 64-bit with pext support"
-       @echo "x86-32                  > x86 32-bit with SSE support"
+       @echo "x86-64-bmi2             > x86 64-bit with pext support (also enables SSE4)"
+       @echo "x86-64-modern           > x86 64-bit with popcnt support (also enables SSE3)"
+       @echo "x86-64                  > x86 64-bit generic"
+       @echo "x86-32                  > x86 32-bit (also enables SSE)"
        @echo "x86-32-old              > x86 32-bit fall back for old hardware"
        @echo "ppc-64                  > PPC 64-bit"
        @echo "ppc-32                  > PPC 32-bit"
@@ -397,7 +405,7 @@ help:
        @echo "Advanced examples, for experienced users: "
        @echo ""
        @echo "make build ARCH=x86-64 COMP=clang"
-       @echo "make profile-build ARCH=x86-64-modern COMP=gcc COMPCXX=g++-4.8"
+       @echo "make profile-build ARCH=x86-64-bmi2 COMP=gcc COMPCXX=g++-4.8"
        @echo ""
 
 
@@ -437,7 +445,7 @@ clean: objclean profileclean
 
 # clean binaries and objects
 objclean:
-       @rm -f $(EXE) $(EXE).exe *.o ./syzygy/*.o
+       @rm -f $(EXE) *.o ./syzygy/*.o
 
 # clean auxiliary profiling files
 profileclean:
@@ -477,7 +485,7 @@ config-sanity:
        @echo "Testing config sanity. If this fails, try 'make help' ..."
        @echo ""
        @test "$(debug)" = "yes" || test "$(debug)" = "no"
-       @test "$(sanitize)" = "undefined" || test "$(sanitize)" = "thread" || test "$(sanitize)" = "no"
+       @test "$(sanitize)" = "undefined" || test "$(sanitize)" = "thread" || test "$(sanitize)" = "address" || test "$(sanitize)" = "no"
        @test "$(optimize)" = "yes" || test "$(optimize)" = "no"
        @test "$(arch)" = "any" || test "$(arch)" = "x86_64" || test "$(arch)" = "i386" || \
         test "$(arch)" = "ppc64" || test "$(arch)" = "ppc" || test "$(arch)" = "armv7"