]> git.sesse.net Git - stockfish/blobdiff - src/Makefile
Fix dependency generation for C++11
[stockfish] / src / Makefile
index 53bbc1f44fcc2a9be84061432a1f079af67287c3..5b101cbdaa2be1d1291ed771b87382e4592185c2 100644 (file)
@@ -140,7 +140,8 @@ 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)
+DEPENDFLAGS += -std=c++11
 LDFLAGS += $(EXTRALDFLAGS)
 
 ifeq ($(COMP),)
@@ -150,14 +151,19 @@ endif
 ifeq ($(COMP),gcc)
        comp=gcc
        CXX=g++
-       CXXFLAGS += -ansi -pedantic -Wno-long-long -Wextra -Wshadow
+       CXXFLAGS += -pedantic -Wno-long-long -Wextra -Wshadow
+       ifneq ($(UNAME),Darwin)
+          LDFLAGS += -Wl,--no-as-needed
+       else
+          LDFLAGS += -Wl
+       endif
 endif
 
 ifeq ($(COMP),mingw)
        comp=mingw
        CXX=g++
        CXXFLAGS += -Wextra -Wshadow
-       LDFLAGS += -static-libstdc++ -static-libgcc
+       LDFLAGS += -static
 endif
 
 ifeq ($(COMP),icc)
@@ -170,6 +176,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 +194,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.9
+       LDFLAGS += -arch $(arch) -mmacosx-version-min=10.9
 endif
 
 ### On mingw use Windows threads, otherwise POSIX
@@ -300,12 +309,8 @@ endif
 ifeq ($(comp),gcc)
        ifeq ($(optimize),yes)
        ifeq ($(debug),no)
-               GCC_MAJOR := `$(CXX) -dumpversion | cut -f1 -d.`
-               GCC_MINOR := `$(CXX) -dumpversion | cut -f2 -d.`
-               ifeq (1,$(shell expr \( $(GCC_MAJOR) \> 4 \) \| \( $(GCC_MAJOR) \= 4 \& $(GCC_MINOR) \>= 5 \)))
-                       CXXFLAGS += -flto
-                       LDFLAGS += $(CXXFLAGS)
-               endif
+               CXXFLAGS += -flto
+               LDFLAGS += $(CXXFLAGS)
        endif
        endif
 endif
@@ -447,16 +452,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