]> git.sesse.net Git - stockfish/blobdiff - src/Makefile
Add popcnt-support in Makefile
[stockfish] / src / Makefile
index 28fbb0d67187e855a1914dc2008598cfd7a3c02d..b975522704447da17b150b694c92d9ad7333a2e5 100644 (file)
@@ -39,6 +39,14 @@ ICCFLAGS += -DNDEBUG
 ICCFLAGS-OSX += -DNDEBUG
 
 
+### ==========================================================================
+### Enable/disable compile for a big-endian CPU, disabled by default
+### ==========================================================================
+GCCFLAGS += -DNBIGENDIAN
+ICCFLAGS += -DNBIGENDIAN
+ICCFLAGS-OSX += -DNBIGENDIAN
+
+
 ### ==========================================================================
 ### Run built-in benchmark for pgo-builds with:  32MB hash  1 thread  10 depth
 ### These settings are generally fast, but may be changed experimentally
@@ -47,9 +55,9 @@ PGOBENCH = ./$(EXE) bench 32 1 10 default depth
 
 
 ### General compiler settings. Do not change
-GCCFLAGS += -g -Wall -fno-exceptions -fno-rtti -fno-strict-aliasing
-ICCFLAGS += -g -Wall -fno-exceptions -fno-rtti -fno-strict-aliasing -wd383,869,981,10187,10188,11505,11503
-ICCFLAGS-OSX += -g -Wall -fno-exceptions -fno-rtti -fno-strict-aliasing -wd383,869,981,10187,10188,11505,11503
+GCCFLAGS += -g -Wall -fno-exceptions -fno-rtti
+ICCFLAGS += -g -Wall -fno-exceptions -fno-rtti -wd383,869,981,10187,10188,11505,11503
+ICCFLAGS-OSX += -g -Wall -fno-exceptions -fno-rtti -wd383,869,981,10187,10188,11505,11503
 
 
 ### General linker settings. Do not change
@@ -74,6 +82,7 @@ help:
        @echo "make                >  Default: Compiler = g++"
        @echo "make icc            >  Compiler = icpc"
        @echo "make icc-profile    >  Compiler = icpc + automatic pgo-build"
+       @echo "make icc-profile-popcnt >  Compiler = icpc + automatic pgo-build + popcnt-support"
        @echo "make osx-ppc32      >  PPC-Mac OS X 32 bit. Compiler = g++"
        @echo "make osx-ppc64      >  PPC-Mac OS X 64 bit. Compiler = g++"
        @echo "make osx-x86        >  x86-Mac OS X 32 bit. Compiler = g++"
@@ -133,6 +142,40 @@ icc-profile:
        $(MAKE) icc-profile-use
        @rm -rf profdir bench.txt
 
+icc-profile-make-with-popcnt:
+       $(MAKE) \
+       CXX='icpc' \
+       CXXFLAGS="$(ICCFLAGS) -DUSE_POPCNT" \
+       CXXFLAGS+='-prof-gen=srcpos -prof_dir ./profdir' \
+       all
+
+icc-profile-use-with-popcnt:
+       $(MAKE) \
+       CXX='icpc' \
+       CXXFLAGS="$(ICCFLAGS) -DUSE_POPCNT" \
+       CXXFLAGS+='-prof_use -prof_dir ./profdir' \
+       all
+
+icc-profile-popcnt:
+       @rm -rf profdir
+       @mkdir profdir
+       @touch *.cpp *.h
+       $(MAKE) icc-profile-make
+       @echo ""
+       @echo "Running benchmark for pgo-build (popcnt disabled)..."
+       @$(PGOBENCH) > /dev/null
+       @touch *.cpp *.h
+       $(MAKE) icc-profile-make-with-popcnt
+       @echo ""
+       @echo "Running benchmark for pgo-build (popcnt enabled)..."
+       @$(PGOBENCH) > /dev/null
+       @echo "Benchmarks finished. Build final executable now ..."
+       @echo ""
+       @touch *.cpp *.h
+       $(MAKE) icc-profile-use-with-popcnt
+       @rm -rf profdir bench.txt
+
+
 osx-ppc32:
        $(MAKE) \
        CXX='g++' \