X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2FMakefile;h=86afd58ac6b449d177eb8c251bd9e6dae02985fa;hp=7e51d5045bffd6df033fbbcd3ad8d9bc4dc106c9;hb=5b8ca1eee77b736c35b418b1cb11da9fc66f83e0;hpb=c2600a73cfcde2958351bf7fd4dc7296b137223b diff --git a/src/Makefile b/src/Makefile index 7e51d504..86afd58a 100644 --- a/src/Makefile +++ b/src/Makefile @@ -308,15 +308,19 @@ endif ### 3.10 popcnt ifeq ($(popcnt),yes) - CXXFLAGS += -DUSE_POPCNT - - ### For gcc we add also msse3 support and Link Time Optimization, note that - ### this is a mix of compile and link time options because the lto link phase - ### needs access to the optimization flags. - ifeq ($(comp),gcc) - CXXFLAGS += -msse3 -flto - LDFLAGS += $(CXXFLAGS) - endif + CXXFLAGS += -msse3 -DUSE_POPCNT +endif + +### 3.11 Link Time Optimization, it works since gcc 4.5 but not on mingw. +### This is a mix of compile and link time options because the lto link phase +### needs access to the optimization flags. +ifeq ($(comp),gcc) + GCC_MAJOR := `gcc -dumpversion | cut -f1 -d.` + GCC_MINOR := `gcc -dumpversion | cut -f2 -d.` + ifeq (1,$(shell expr \( $(GCC_MAJOR) \> 4 \) \| \( $(GCC_MAJOR) \= 4 \& $(GCC_MINOR) \>= 5 \))) + CXXFLAGS += -flto + LDFLAGS += $(CXXFLAGS) + endif endif ### ========================================================================== @@ -385,7 +389,7 @@ profile-build: $(MAKE) ARCH=$(ARCH) COMP=$(COMP) $(profile_make) @echo "" @echo "Step 2/4. Running benchmark for pgo-build ..." - @sleep 10 | $(PGOBENCH) > /dev/null + @$(PGOBENCH) > /dev/null @echo "" @echo "Step 3/4. Building final executable ..." @touch *.cpp @@ -405,14 +409,14 @@ double-profile-build: $(MAKE) ARCH=x86-64 COMP=$(COMP) $(profile_make) @echo "" @echo "Step 2/6. Running benchmark for pgo-build (popcnt disabled)..." - @sleep 10 | $(PGOBENCH) > /dev/null + @$(PGOBENCH) > /dev/null @echo "" @echo "Step 3/6. Building executable for benchmark (popcnt enabled)..." @touch *.cpp *.h $(MAKE) ARCH=x86-64-modern COMP=$(COMP) $(profile_make) @echo "" @echo "Step 4/6. Running benchmark for pgo-build (popcnt enabled)..." - @sleep 10 | $(PGOBENCH) > /dev/null + @$(PGOBENCH) > /dev/null @echo "" @echo "Step 5/6. Building final executable ..." @touch *.cpp *.h @@ -492,6 +496,7 @@ gcc-profile-make: gcc-profile-use: $(MAKE) ARCH=$(ARCH) COMP=$(COMP) \ EXTRACXXFLAGS='-fprofile-use' \ + EXTRALDFLAGS='-lgcov' \ all gcc-profile-clean: