]> git.sesse.net Git - stockfish/blobdiff - src/Makefile
Makefile improvements for compiling on OS X
[stockfish] / src / Makefile
index 67cd382a53ed30482387df42cc88adb017fc755c..12e80311a96cfdc2532aee19c7c68dac136e405d 100644 (file)
@@ -165,6 +165,26 @@ ifeq ($(ARCH),osx-ppc-32)
        sse = no
 endif
 
+ifeq ($(ARCH),linux-ppc-64)
+       arch = ppc64
+       os = any
+       bits = 64
+       prefetch = no
+       bsfq = no
+       popcnt = no
+       sse = no
+endif
+
+ifeq ($(ARCH),osx-x86-64-modern)
+       arch = x86_64
+       os = osx
+       bits = 64
+       prefetch = yes
+       bsfq = yes
+       popcnt = yes
+       sse = yes
+endif
+
 ifeq ($(ARCH),osx-x86-64)
        arch = x86_64
        os = osx
@@ -243,7 +263,7 @@ ifeq ($(comp),mingw)
 endif
 
 ifeq ($(comp),icc)
-       CXXFLAGS += -wd383,981,1418,1419,1476,10187,10188,11505,11503 -Wcheck -Wabi -Wdeprecated -strict-ansi
+       CXXFLAGS += -diag-disable 1476,10120 -Wcheck -Wabi -Wdeprecated -strict-ansi
 endif
 
 ifeq ($(comp),clang)
@@ -251,7 +271,7 @@ ifeq ($(comp),clang)
 endif
 
 ifeq ($(os),osx)
-       CXXFLAGS += -arch $(arch) -mmacosx-version-min=10.0
+       CXXFLAGS += -arch $(arch) -mmacosx-version-min=10.6
 endif
 
 ### 3.3 General linker settings
@@ -263,14 +283,17 @@ endif
 
 ### On mingw use Windows threads, otherwise POSIX
 ifneq ($(comp),mingw)
-       # Haiku has pthreads in its libroot, so only link it in on other platforms
-       ifneq ($(UNAME),Haiku)
-               LDFLAGS += -lpthread
+       # On Android Bionic's C library comes with its own pthread implementation bundled in
+       ifneq ($(arch),armv7)
+               # Haiku has pthreads in its libroot, so only link it in on other platforms
+               ifneq ($(UNAME),Haiku)
+                       LDFLAGS += -lpthread
+               endif
        endif
 endif
 
 ifeq ($(os),osx)
-       LDFLAGS += -arch $(arch) -mmacosx-version-min=10.0
+       LDFLAGS += -arch $(arch) -mmacosx-version-min=10.6
 endif
 
 ### 3.4 Debugging
@@ -308,13 +331,17 @@ ifeq ($(optimize),yes)
                ifeq ($(os),osx)
                        CXXFLAGS += -fast -mdynamic-no-pic
                else
-                       CXXFLAGS += -O3
+                       CXXFLAGS += -fast
                endif
        endif
 
        ifeq ($(comp),clang)
-               ### -O4 requires a linker that supports LLVM's LTO
-               CXXFLAGS += -O3
+               ifeq ($(os),osx)
+                       # Clang on OS X supports LTO
+                       CXXFLAGS += -O4
+               else
+                       CXXFLAGS += -O3
+               endif
 
                ifeq ($(os),osx)
                        ifeq ($(arch),i386)
@@ -394,8 +421,10 @@ help:
        @echo "x86-64-modern           > x86 64-bit with popcnt support"
        @echo "x86-32                  > x86 32-bit with SSE support"
        @echo "x86-32-old              > x86 32-bit fall back for old hardware"
+       @echo "linux-ppc-64            > PPC-Linux 64 bit"
        @echo "osx-ppc-64              > PPC-Mac OS X 64 bit"
        @echo "osx-ppc-32              > PPC-Mac OS X 32 bit"
+       @echo "osx-x86-64-modern       > x86-Mac OS X 64 bit with popcnt support"
        @echo "osx-x86-64              > x86-Mac OS X 64 bit"
        @echo "osx-x86-32              > x86-Mac OS X 32 bit"
        @echo "armv7                   > ARMv7 32 bit"