X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2FMakefile;h=a435066515d947e14d388058a053f6f3d1baa16b;hp=56d058f92bd6d252a68522b6f5828588dbd5c010;hb=06f33ff1ee0c0e8345cb6d5b84ce5db9f043203d;hpb=8307da0de77c9c7bbf7c56a7d9c8a688ff4dfb4e diff --git a/src/Makefile b/src/Makefile index 56d058f9..a4350665 100644 --- a/src/Makefile +++ b/src/Makefile @@ -243,7 +243,12 @@ ifeq ($(os),osx) endif ### 3.3 General linker settings -LDFLAGS = -lpthread $(EXTRALDFLAGS) +LDFLAGS = $(EXTRALDFLAGS) + +### On mingw use Windows threads, otherwise POSIX +ifneq ($(comp),mingw) + LDFLAGS += -lpthread +endif ifeq ($(os),osx) LDFLAGS += -arch $(arch) @@ -315,8 +320,8 @@ endif ### This is a mix of compile and link time options because the lto link phase ### needs access to the optimization flags. ifeq ($(comp),gcc) - GCC_MAJOR := `gcc -dumpversion | cut -f1 -d.` - GCC_MINOR := `gcc -dumpversion | cut -f2 -d.` + GCC_MAJOR := `$(CXX) -dumpversion | cut -f1 -d.` + GCC_MINOR := `$(CXX) -dumpversion | cut -f2 -d.` ifeq (1,$(shell expr \( $(GCC_MAJOR) \> 4 \) \| \( $(GCC_MAJOR) \= 4 \& $(GCC_MINOR) \>= 5 \))) CXXFLAGS += -flto LDFLAGS += $(CXXFLAGS) @@ -337,7 +342,6 @@ help: @echo "" @echo "build > Build unoptimized version" @echo "profile-build > Build PGO-optimized version" - @echo "double-profile-build > Build PGO-optimized version with and without popcnt support" @echo "strip > Strip executable" @echo "install > Install executable" @echo "clean > Clean up" @@ -347,7 +351,7 @@ help: @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 very old hardware without SSE-support" + @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" @@ -398,34 +402,6 @@ profile-build: @echo "Step 4/4. Deleting profile data ..." $(MAKE) ARCH=$(ARCH) COMP=$(COMP) $(profile_clean) -double-profile-build: - $(MAKE) ARCH=$(ARCH) COMP=$(COMP) config-sanity - @echo "" - @echo "Step 0/6. Preparing for profile build." - $(MAKE) ARCH=$(ARCH) COMP=$(COMP) $(profile_prepare) - @echo "" - @echo "Step 1/6. Building executable for benchmark (popcnt disabled)..." - @touch *.cpp *.h - $(MAKE) ARCH=x86-64 COMP=$(COMP) $(profile_make) - @echo "" - @echo "Step 2/6. Running benchmark for pgo-build (popcnt disabled)..." - @$(PGOBENCH) > /dev/null - @echo "" - @echo "Step 3/6. Building executable for benchmark (popcnt enabled)..." - @touch *.cpp *.h - $(MAKE) ARCH=x86-64-modern COMP=$(COMP) $(profile_make) - @echo "" - @echo "Step 4/6. Running benchmark for pgo-build (popcnt enabled)..." - @$(PGOBENCH) > /dev/null - @echo "" - @echo "Step 5/6. Building final executable ..." - @touch *.cpp *.h - $(MAKE) ARCH=$(ARCH) COMP=$(COMP) $(profile_use) - @echo "" - @echo "Step 6/6. Deleting profile data ..." - $(MAKE) ARCH=$(ARCH) COMP=$(COMP) $(profile_clean) - @echo "" - strip: strip $(EXE)