X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2FMakefile;h=6b02425e07b2ce2f160e98ed93fa2defd3e26586;hp=843d45fc89aeb64093cdf992c44a94f6150bdc85;hb=c014444f09ace05e908909d9c5c60127e998b538;hpb=0b2794ae1257b224256ac0c6392a705cfc80a848 diff --git a/src/Makefile b/src/Makefile index 843d45fc..6b02425e 100644 --- a/src/Makefile +++ b/src/Makefile @@ -30,18 +30,17 @@ EXE = stockfish PREFIX = /usr/local # Haiku has a non-standard filesystem layout ifeq ($(UNAME),Haiku) - PREFIX=/boot/common + PREFIX=/boot/system/non-packaged endif BINDIR = $(PREFIX)/bin -### Built-in benchmark for pgo-builds and signature -PGOBENCH = ./$(EXE) bench 32 1 1 default time -SIGNBENCH = ./$(EXE) bench +### Built-in benchmark for pgo-builds +PGOBENCH = ./$(EXE) bench 16 1 1 default time ### Object files -OBJS = benchmark.o bitbase.o bitboard.o book.o endgame.o evaluate.o main.o \ - material.o misc.o movegen.o movepick.o notation.o pawns.o position.o \ - search.o thread.o timeman.o tt.o uci.o ucioption.o +OBJS = benchmark.o bitbase.o bitboard.o endgame.o evaluate.o main.o \ + material.o misc.o movegen.o movepick.o pawns.o position.o \ + search.o thread.o timeman.o tt.o uci.o ucioption.o syzygy/tbprobe.o ### ========================================================================== ### Section 2. High-level Configuration @@ -131,50 +130,15 @@ ifeq ($(ARCH),armv7) bsfq = yes endif -ifeq ($(ARCH),osx-ppc-32) +ifeq ($(ARCH),ppc-32) arch = ppc - os = osx endif -ifeq ($(ARCH),osx-ppc-64) +ifeq ($(ARCH),ppc-64) arch = ppc64 - os = osx bits = 64 endif -ifeq ($(ARCH),linux-ppc-64) - arch = ppc64 - bits = 64 -endif - -ifeq ($(ARCH),osx-x86-64) - arch = x86_64 - os = osx - bits = 64 - prefetch = yes - bsfq = yes - sse = yes -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-32) - arch = i386 - os = osx - prefetch = yes - bsfq = no - popcnt = no - sse = yes -endif - ### ========================================================================== ### Section 3. Low-level configuration @@ -211,7 +175,7 @@ endif ifeq ($(COMP),clang) comp=clang CXX=clang++ - CXXFLAGS += -ansi -pedantic -Wno-long-long -Wextra -Wshadow + CXXFLAGS += -pedantic -Wno-long-long -Wextra -Wshadow endif ifeq ($(comp),icc) @@ -226,7 +190,7 @@ else profile_clean = gcc-profile-clean endif -ifeq ($(os),osx) +ifeq ($(UNAME),Darwin) CXXFLAGS += -arch $(arch) -mmacosx-version-min=10.6 LDFLAGS += -arch $(arch) -mmacosx-version-min=10.6 endif @@ -255,7 +219,7 @@ ifeq ($(optimize),yes) ifeq ($(comp),gcc) CXXFLAGS += -O3 - ifeq ($(os),osx) + ifeq ($(UNAME),Darwin) ifeq ($(arch),i386) CXXFLAGS += -mdynamic-no-pic endif @@ -274,7 +238,7 @@ ifeq ($(optimize),yes) endif ifeq ($(comp),icc) - ifeq ($(os),osx) + ifeq ($(UNAME),Darwin) CXXFLAGS += -fast -mdynamic-no-pic else CXXFLAGS += -fast @@ -284,8 +248,11 @@ ifeq ($(optimize),yes) ifeq ($(comp),clang) CXXFLAGS += -O3 - ifeq ($(os),osx) - CXXFLAGS += -flto + ifeq ($(UNAME),Darwin) + ifeq ($(pext),no) + CXXFLAGS += -flto + LDFLAGS += $(CXXFLAGS) + endif ifeq ($(arch),i386) CXXFLAGS += -mdynamic-no-pic endif @@ -318,14 +285,18 @@ endif ### 3.9 popcnt ifeq ($(popcnt),yes) - CXXFLAGS += -msse3 -DUSE_POPCNT + ifeq ($(comp),icc) + CXXFLAGS += -msse3 -DUSE_POPCNT + else + CXXFLAGS += -msse3 -mpopcnt -DUSE_POPCNT + endif endif ### 3.10 pext ifeq ($(pext),yes) CXXFLAGS += -DUSE_PEXT ifeq ($(comp),$(filter $(comp),gcc clang mingw)) - CXXFLAGS += -mbmi2 + CXXFLAGS += -mbmi -mbmi2 endif endif @@ -370,13 +341,9 @@ help: @echo "x86-64-bmi2 > x86 64-bit with pext 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" + @echo "ppc-64 > PPC 64-bit" + @echo "ppc-32 > PPC 32-bit" + @echo "armv7 > ARMv7 32-bit" @echo "general-64 > unspecified 64-bit" @echo "general-32 > unspecified 32-bit" @echo "" @@ -431,7 +398,7 @@ install: -strip $(BINDIR)/$(EXE) clean: - $(RM) $(EXE) $(EXE).exe *.o .depend *~ core bench.txt *.gcda + $(RM) $(EXE) $(EXE).exe *.o .depend *~ core bench.txt *.gcda ./syzygy/*.o ./syzygy/*.gcda default: help @@ -467,7 +434,7 @@ config-sanity: @test "$(optimize)" = "yes" || test "$(optimize)" = "no" @test "$(arch)" = "any" || test "$(arch)" = "x86_64" || test "$(arch)" = "i386" || \ test "$(arch)" = "ppc64" || test "$(arch)" = "ppc" || test "$(arch)" = "armv7" - @test "$(os)" = "any" || test "$(os)" = "osx" + @test "$(os)" = "any" @test "$(bits)" = "32" || test "$(bits)" = "64" @test "$(prefetch)" = "yes" || test "$(prefetch)" = "no" @test "$(bsfq)" = "yes" || test "$(bsfq)" = "no" @@ -495,7 +462,7 @@ gcc-profile-use: all gcc-profile-clean: - @rm -rf *.gcda *.gcno bench.txt + @rm -rf *.gcda *.gcno syzygy/*.gcda syzygy/*.gcno bench.txt icc-profile-prepare: $(MAKE) ARCH=$(ARCH) COMP=$(COMP) icc-profile-clean