X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2FMakefile;h=1e5a16580b188df89614665027b8681453082d51;hp=3b8441a348d4a7d26734c61cd151d93962981b00;hb=85b08ce3adafbb1a70cd371cadb1e136e8879ebf;hpb=226bbc1e632c18cfd4d76aa9092c4575b0de0cf5 diff --git a/src/Makefile b/src/Makefile index 3b8441a3..1e5a1658 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 +### Built-in benchmark for pgo-builds PGOBENCH = ./$(EXE) bench 32 1 1 default time -SIGNBENCH = ./$(EXE) bench ### 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 notation.o pawns.o \ + position.o search.o thread.o timeman.o tt.o uci.o ucioption.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,14 @@ endif ### 3.9 popcnt ifeq ($(popcnt),yes) - CXXFLAGS += -msse3 -DUSE_POPCNT + CXXFLAGS += -msse3 -mpopcnt -DUSE_POPCNT endif ### 3.10 pext ifeq ($(pext),yes) CXXFLAGS += -DUSE_PEXT ifeq ($(comp),$(filter $(comp),gcc clang mingw)) - CXXFLAGS += -mbmi2 + CXXFLAGS += -mbmi -mbmi2 endif endif @@ -358,9 +325,7 @@ help: @echo "Supported targets:" @echo "" @echo "build > Standard build" - @echo "signature-build > Standard build with embedded signature" @echo "profile-build > PGO build" - @echo "signature-profile-build > PGO build with embedded signature" @echo "strip > Strip executable" @echo "install > Install executable" @echo "clean > Clean up" @@ -372,13 +337,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 "" @@ -399,7 +360,7 @@ help: @echo "make build ARCH=x86-32 (This is for 32-bit systems)" @echo "" -.PHONY: build profile-build embed-signature +.PHONY: build profile-build build: $(MAKE) ARCH=$(ARCH) COMP=$(COMP) config-sanity $(MAKE) ARCH=$(ARCH) COMP=$(COMP) all @@ -424,18 +385,6 @@ profile-build: @echo "Step 4/4. Deleting profile data ..." $(MAKE) ARCH=$(ARCH) COMP=$(COMP) $(profile_clean) -embed-signature: - @echo "Running benchmark for getting the signature ..." - @$(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 - $(MAKE) ARCH=$(ARCH) COMP=$(COMP) all - -signature-profile-build: build embed-signature profile-build - strip: strip $(EXE) @@ -481,7 +430,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"