]> git.sesse.net Git - stockfish/blobdiff - src/Makefile
Disable spinlocks
[stockfish] / src / Makefile
index fa0e91a86ea81e2e6c290a386ee9cac0c4229125..8622be3206291abd014304d14007049e762bbcd2 100644 (file)
@@ -31,7 +31,7 @@ PREFIX = /usr/local
 BINDIR = $(PREFIX)/bin
 
 ### Built-in benchmark for pgo-builds
-PGOBENCH = ./$(EXE) bench 16 1 1 default time
+PGOBENCH = ./$(EXE) bench 16 1 1000 default time
 
 ### Object files
 OBJS = benchmark.o bitbase.o bitboard.o endgame.o evaluate.o main.o \
@@ -140,7 +140,7 @@ endif
 
 ### 3.1 Selecting compiler (default = gcc)
 
-CXXFLAGS += -Wall -Wcast-qual -fno-exceptions -fno-rtti $(EXTRACXXFLAGS)
+CXXFLAGS += -Wall -Wcast-qual -fno-exceptions -fno-rtti -std=c++11 $(EXTRACXXFLAGS)
 LDFLAGS += $(EXTRALDFLAGS)
 
 ifeq ($(COMP),)
@@ -150,7 +150,8 @@ endif
 ifeq ($(COMP),gcc)
        comp=gcc
        CXX=g++
-       CXXFLAGS += -ansi -pedantic -Wno-long-long -Wextra -Wshadow
+       CXXFLAGS += -pedantic -Wno-long-long -Wextra -Wshadow
+       LDFLAGS += -Wl,--no-as-needed
 endif
 
 ifeq ($(COMP),mingw)
@@ -170,6 +171,9 @@ ifeq ($(COMP),clang)
        comp=clang
        CXX=clang++
        CXXFLAGS += -pedantic -Wno-long-long -Wextra -Wshadow
+       ifeq ($(UNAME),Darwin)
+               CXXFLAGS += -std=c++0x -stdlib=libc++
+       endif
 endif
 
 ifeq ($(comp),icc)
@@ -185,8 +189,8 @@ else
 endif
 
 ifeq ($(UNAME),Darwin)
-       CXXFLAGS += -arch $(arch) -mmacosx-version-min=10.6
-       LDFLAGS += -arch $(arch) -mmacosx-version-min=10.6
+       CXXFLAGS += -arch $(arch) -mmacosx-version-min=10.10
+       LDFLAGS += -arch $(arch) -mmacosx-version-min=10.10
 endif
 
 ### On mingw use Windows threads, otherwise POSIX
@@ -310,6 +314,14 @@ ifeq ($(comp),gcc)
        endif
 endif
 
+### 3.12 Android 5 can only run position independent executables. Note that this
+### breaks Android 4.0 and earlier.
+ifeq ($(arch),armv7)
+       CXXFLAGS += -fPIE
+       LDFLAGS += -fPIE -pie
+endif
+
+
 ### ==========================================================================
 ### Section 4. Public targets
 ### ==========================================================================
@@ -439,16 +451,13 @@ gcc-profile-prepare:
 
 gcc-profile-make:
        $(MAKE) ARCH=$(ARCH) COMP=$(COMP) \
-       EXTRACXXFLAGS='-fprofile-arcs' \
+       EXTRACXXFLAGS='-fprofile-generate' \
        EXTRALDFLAGS='-lgcov' \
        all
 
 gcc-profile-use:
-# Deleting corrupt ucioption.gc* profile files is necessary to avoid an 
-# "internal compiler error" for gcc versions 4.7.x
-       @rm -f ucioption.gc*
        $(MAKE) ARCH=$(ARCH) COMP=$(COMP) \
-       EXTRACXXFLAGS='-fbranch-probabilities' \
+       EXTRACXXFLAGS='-fprofile-use -fno-peel-loops -fno-tracer' \
        EXTRALDFLAGS='-lgcov' \
        all