X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2FMakefile;h=860b146a4fbe88a6a6aab515da073e6d6b153f9e;hp=f1fcfdeb5fc629ca352329c0766aadfef8c0e13b;hb=45b0aea875860e9f0fe2d0435ee6163906639194;hpb=5b7b330616b765c648d7d689403698223e9fee8e diff --git a/src/Makefile b/src/Makefile index f1fcfdeb..860b146a 100644 --- a/src/Makefile +++ b/src/Makefile @@ -263,9 +263,12 @@ 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 @@ -277,7 +280,7 @@ endif ifeq ($(debug),no) CXXFLAGS += -DNDEBUG else - CXXFLAGS += -g + CXXFLAGS += -g endif ### 3.5 Optimization @@ -296,7 +299,7 @@ ifeq ($(optimize),yes) endif ifeq ($(arch),armv7) - CXXFLAGS += -fno-gcse + CXXFLAGS += -fno-gcse -mthumb -march=armv7-a -mfloat-abi=softfp endif endif @@ -380,58 +383,50 @@ 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 -signature-build: - $(MAKE) ARCH=$(ARCH) COMP=$(COMP) config-sanity - $(MAKE) ARCH=$(ARCH) COMP=$(COMP) all - @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 - $(MAKE) ARCH=$(ARCH) COMP=$(COMP) all - profile-build: $(MAKE) ARCH=$(ARCH) COMP=$(COMP) config-sanity @echo "" @@ -452,6 +447,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 | 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) @@ -463,9 +470,6 @@ install: clean: $(RM) $(EXE) $(EXE).exe *.o .depend *~ core bench.txt *.gcda -testrun: - @$(PGOBENCH) - default: help