X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2FMakefile;h=56d058f92bd6d252a68522b6f5828588dbd5c010;hp=669052f4b3819a78439731b099882a5c7244bdcf;hb=78908b7aed41ba0a70c557182ab1b27792db9b0c;hpb=8272dcb6cd42c5c92ce7bb77797d52aebc83355b diff --git a/src/Makefile b/src/Makefile index 669052f4..56d058f9 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-2010 Marco Costalba, Joona Kiiski, Tord Romstad +# Copyright (C) 2008-2012 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 @@ -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 ### ========================================================================== @@ -492,6 +496,7 @@ gcc-profile-make: gcc-profile-use: $(MAKE) ARCH=$(ARCH) COMP=$(COMP) \ EXTRACXXFLAGS='-fprofile-use' \ + EXTRALDFLAGS='-lgcov' \ all gcc-profile-clean: