X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2FMakefile;h=8658425d3cb67433300f9d769bb628942396020a;hp=7ddb643c11710713b2b782d4a4dfc8203577c928;hb=9518cc3254972ca174a028487d9fe39241101e93;hpb=ddcb572c41d660f7ed2baa8c21fb56dec0bc7a7c diff --git a/src/Makefile b/src/Makefile index 7ddb643c..8658425d 100644 --- a/src/Makefile +++ b/src/Makefile @@ -34,8 +34,9 @@ ifeq ($(UNAME),Haiku) endif BINDIR = $(PREFIX)/bin -### Built-in benchmark for pgo-builds +### Built-in benchmark for pgo-builds and signature PGOBENCH = ./$(EXE) bench 32 1 10 default depth +SIGNBENCH = ./$(EXE) bench ### Object files OBJS = benchmark.o bitbase.o bitboard.o book.o endgame.o evaluate.o main.o \ @@ -379,44 +380,46 @@ help: @echo "" @echo "Supported targets:" @echo "" - @echo "build > Build unoptimized version" - @echo "profile-build > Build PGO-optimized version" - @echo "strip > Strip executable" - @echo "install > Install executable" - @echo "clean > Clean up" - @echo "testrun > Make sample run" + @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" @echo "" @echo "Supported archs:" @echo "" - @echo "x86-64 > x86 64-bit" - @echo "x86-64-modern > x86 64-bit with runtime support for popcnt instruction" - @echo "x86-32 > x86 32-bit excluding old hardware without SSE-support" - @echo "x86-32-old > x86 32-bit including also very old hardware" - @echo "osx-ppc-64 > PPC-Mac OS X 64 bit" - @echo "osx-ppc-32 > PPC-Mac OS X 32 bit" - @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 "general-64 > unspecified 64-bit" - @echo "general-32 > unspecified 32-bit" + @echo "x86-64 > x86 64-bit" + @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 "osx-ppc-64 > PPC-Mac OS X 64 bit" + @echo "osx-ppc-32 > PPC-Mac OS X 32 bit" + @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 "general-64 > unspecified 64-bit" + @echo "general-32 > unspecified 32-bit" @echo "" - @echo "Supported comps:" + @echo "Supported compilers:" @echo "" - @echo "gcc > Gnu compiler (default)" - @echo "icc > Intel compiler" - @echo "mingw > Gnu compiler with MinGW under Windows" - @echo "clang > LLVM Clang compiler" + @echo "gcc > Gnu compiler (default)" + @echo "mingw > Gnu compiler with MinGW under Windows" + @echo "clang > LLVM Clang compiler" + @echo "icc > Intel compiler" @echo "" @echo "Non-standard targets:" @echo "" - @echo "make hpux > Compile for HP-UX. Compiler = aCC" + @echo "make hpux > Compile for HP-UX. Compiler = aCC" @echo "" @echo "Examples. If you don't know what to do, you likely want to run: " @echo "" - @echo "make profile-build ARCH=x86-64 (This is for 64-bit systems)" - @echo "make profile-build ARCH=x86-32 (This is for 32-bit systems)" + @echo "make build ARCH=x86-64 (This is for 64-bit systems)" + @echo "make build ARCH=x86-32 (This is for 32-bit systems)" @echo "" +.PHONY: build profile-build embed-signature build: $(MAKE) ARCH=$(ARCH) COMP=$(COMP) config-sanity $(MAKE) ARCH=$(ARCH) COMP=$(COMP) all @@ -441,6 +444,18 @@ 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 | 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 + @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) @@ -452,9 +467,6 @@ install: clean: $(RM) $(EXE) $(EXE).exe *.o .depend *~ core bench.txt *.gcda -testrun: - @$(PGOBENCH) - default: help