X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2FMakefile;h=53bbc1f44fcc2a9be84061432a1f079af67287c3;hp=301cbdde988d065e058255d18630b74d0f4d6174;hb=ec36b8dea91f2a7a9c5914557fa06435e00e67db;hpb=94dd204c3b10ebe0e6c8df5d7c98de5ba4906cad diff --git a/src/Makefile b/src/Makefile index 301cbdde..53bbc1f4 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 \ @@ -310,6 +310,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 ### ========================================================================== @@ -366,14 +374,14 @@ profile-build: $(MAKE) ARCH=$(ARCH) COMP=$(COMP) $(profile_prepare) @echo "" @echo "Step 1/4. Building executable for benchmark ..." - @touch *.cpp *.h + @touch *.cpp *.h syzygy/*.cpp syzygy/*.h $(MAKE) ARCH=$(ARCH) COMP=$(COMP) $(profile_make) @echo "" @echo "Step 2/4. Running benchmark for pgo-build ..." @$(PGOBENCH) > /dev/null @echo "" @echo "Step 3/4. Building final executable ..." - @touch *.cpp + @touch *.cpp *.h syzygy/*.cpp syzygy/*.h $(MAKE) ARCH=$(ARCH) COMP=$(COMP) $(profile_use) @echo "" @echo "Step 4/4. Deleting profile data ..." @@ -439,13 +447,16 @@ gcc-profile-prepare: gcc-profile-make: $(MAKE) ARCH=$(ARCH) COMP=$(COMP) \ - EXTRACXXFLAGS='-fprofile-generate' \ + EXTRACXXFLAGS='-fprofile-arcs' \ 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='-fprofile-use' \ + EXTRACXXFLAGS='-fbranch-probabilities' \ EXTRALDFLAGS='-lgcov' \ all