X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2FMakefile;h=12e80311a96cfdc2532aee19c7c68dac136e405d;hp=8658425d3cb67433300f9d769bb628942396020a;hb=6ea5dc294cb33d56d42e543d9fc4d5b7405e2b4e;hpb=9518cc3254972ca174a028487d9fe39241101e93 diff --git a/src/Makefile b/src/Makefile index 8658425d..12e80311 100644 --- a/src/Makefile +++ b/src/Makefile @@ -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,21 +283,24 @@ 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 ifeq ($(debug),no) CXXFLAGS += -DNDEBUG else - CXXFLAGS += -g + CXXFLAGS += -g endif ### 3.5 Optimization @@ -296,7 +319,7 @@ ifeq ($(optimize),yes) endif ifeq ($(arch),armv7) - CXXFLAGS += -fno-gcse + CXXFLAGS += -fno-gcse -mthumb -march=armv7-a -mfloat-abi=softfp endif endif @@ -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" @@ -446,12 +475,12 @@ profile-build: embed-signature: @echo "Running benchmark for getting the signature ..." - @$(SIGNBENCH) 2>&1 | grep 'Nodes searched' | grep -o ": .*" | tr -d ': ' > sign.txt - @sed -i -e 's,^,/static const string Version/s/"\\(.*\\)"/"sig-,1' -e 's,$$,"/1,1' sign.txt - @sed -i -f sign.txt misc.cpp + @$(SIGNBENCH) 2>&1 | sed -n 's/Nodes searched : \(.*\)/\/string Version\/s\/"\\(.*\\)"\/"sig-\1"\//p' > sign.txt + @sed -f sign.txt misc.cpp > misc2.cpp + @mv misc2.cpp misc.cpp @rm sign.txt -signature-build: build embed-signature +signature-build: build embed-signature $(MAKE) ARCH=$(ARCH) COMP=$(COMP) all signature-profile-build: build embed-signature profile-build