X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2FMakefile;h=769b9d34830780e3a0624e3a3ea043649c534399;hp=b641747ae623f20d201e3d56bc7421398201a566;hb=60c121f3b1ee7d5ced3435cc1718e4e6e6fd8383;hpb=46d5fff01fbeafdf822e440231845363ba979f09 diff --git a/src/Makefile b/src/Makefile index b641747a..769b9d34 100644 --- a/src/Makefile +++ b/src/Makefile @@ -1,6 +1,6 @@ # Stockfish, a UCI chess playing engine derived from Glaurung 2.1 # Copyright (C) 2004-2008 Tord Romstad (Glaurung author) -# Copyright (C) 2008-2014 Marco Costalba, Joona Kiiski, Tord Romstad +# Copyright (C) 2008-2015 Marco Costalba, Joona Kiiski, 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 @@ -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) @@ -310,6 +311,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 ### ========================================================================== @@ -373,9 +382,6 @@ profile-build: @$(PGOBENCH) > /dev/null @echo "" @echo "Step 3/4. Building final executable ..." -# Deleting corrupt ucioption.gc* profile files is necessary to avoid an -# "internal compiler error" for gcc versions 4.7.x - @rm ucioption.gc* @touch *.cpp *.h syzygy/*.cpp syzygy/*.h $(MAKE) ARCH=$(ARCH) COMP=$(COMP) $(profile_use) @echo "" @@ -447,6 +453,9 @@ gcc-profile-make: 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' \ EXTRALDFLAGS='-lgcov' \