X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2FMakefile;h=7071e8905eb6e01be581e9f69c64b93c99fc6680;hb=8b6bcd973134da634a4bd7494f085b68af36fd70;hp=84b6d624f1e118d132df13803f3edbad8e4f692a;hpb=13224e1d9d980dd91b4a3fd26937f5a49425ac3b;p=stockfish diff --git a/src/Makefile b/src/Makefile index 84b6d624..7071e890 100644 --- a/src/Makefile +++ b/src/Makefile @@ -25,7 +25,6 @@ EXE = stockfish PREFIX = /usr/local BINDIR = $(PREFIX)/bin - ### ========================================================================== ### Compiler speed switches for both GCC and ICC. These settings are generally ### fast on a broad range of systems, but may be changed experimentally @@ -57,7 +56,6 @@ ICCFLAGS-OSX += -DNDEBUG ### ========================================================================== PGOBENCH = ./$(EXE) bench 32 1 10 default depth - ### General compiler settings. Do not change GCCFLAGS += -g -Wall -fno-exceptions -fno-rtti ICCFLAGS += -g -Wall -fno-exceptions -fno-rtti -wd383,869,981,10187,10188,11505,11503 @@ -84,6 +82,7 @@ help: @echo "Makefile options:" @echo "" @echo "make > Default: Compiler = g++" + @echo "make gcc-profile > Compiler = g++ + automatic pgo-build" @echo "make gcc-popcnt > Compiler = g++ + popcnt-support" @echo "make icc > Compiler = icpc" @echo "make icc-profile > Compiler = icpc + automatic pgo-build" @@ -117,13 +116,40 @@ gcc: CXXFLAGS="$(GCCFLAGS)" \ all +gcc-profile-make: + $(MAKE) \ + CXX='g++' \ + CXXFLAGS="$(GCCFLAGS)" \ + CXXFLAGS+='-fprofile-generate' \ + LDFLAGS="$(LDFLAGS)" \ + LDFLAGS+=" -lgcov" \ + all + +gcc-profile-use: + $(MAKE) \ + CXX='g++' \ + CXXFLAGS="$(GCCFLAGS)" \ + CXXFLAGS+='-fprofile-use' \ + all + +gcc-profile: + @touch *.cpp *.h + $(MAKE) gcc-profile-make + @echo "" + @echo "Running benchmark for pgo-build ..." + @$(PGOBENCH) > /dev/null + @echo "Benchmark finished. Build final executable now ..." + @echo "" + @touch *.cpp *.h + $(MAKE) gcc-profile-use + @rm -rf *.gcda bench.txt + gcc-popcnt: $(MAKE) \ CXX='g++' \ CXXFLAGS="$(GCCFLAGS) -DUSE_POPCNT" \ all - icc: $(MAKE) \ CXX='icpc' \ @@ -197,6 +223,7 @@ osx-ppc32: CXX='g++' \ CXXFLAGS="$(GCCFLAGS)" \ CXXFLAGS+='-arch ppc' \ + CXXFLAGS+='-DBIGENDIAN' \ LDFLAGS+='-arch ppc' \ all @@ -205,6 +232,7 @@ osx-ppc64: CXX='g++' \ CXXFLAGS="$(GCCFLAGS)" \ CXXFLAGS+='-arch ppc64' \ + CXXFLAGS+='-DBIGENDIAN' \ LDFLAGS+='-arch ppc64' \ all @@ -223,7 +251,7 @@ osx-x86_64: CXXFLAGS+='-arch x86_64 -mdynamic-no-pic' \ LDFLAGS+='-arch x86_64 -mdynamic-no-pic' \ all - + osx-icc32: $(MAKE) \ CXX='icpc' \ @@ -318,7 +346,7 @@ strip: ### Compilation. Do not change $(EXE): $(OBJS) - $(CXX) $(LDFLAGS) -o $@ $(OBJS) + $(CXX) -o $@ $(OBJS) $(LDFLAGS) ### Installation install: default