]> git.sesse.net Git - stockfish/blobdiff - src/Makefile
Small comments tweaks in search.cpp
[stockfish] / src / Makefile
index 5fa29c0a01a35226c421de301a134210be264c1d..748a739e254551daedf022a8efbe0b3e53e21b77 100644 (file)
 ### Executable name. Do not change
 EXE = stockfish
 
+### Installation dir definitions
+PREFIX = /usr/local
+BINDIR = $(PREFIX)/bin
+
 
 ### ==========================================================================
 ### Compiler speed switches for both GCC and ICC. These settings are generally
@@ -40,11 +44,11 @@ ICCFLAGS-OSX += -DNDEBUG
 
 
 ### ==========================================================================
-### Enable/disable compile for a big-endian CPU, disabled by default
+### Remove below comments to compile for a big-endian machine
 ### ==========================================================================
-GCCFLAGS += -DNBIGENDIAN
-ICCFLAGS += -DNBIGENDIAN
-ICCFLAGS-OSX += -DNBIGENDIAN
+#GCCFLAGS += -DBIGENDIAN
+#ICCFLAGS += -DBIGENDIAN
+#ICCFLAGS-OSX += -DBIGENDIAN
 
 
 ### ==========================================================================
@@ -80,8 +84,10 @@ help:
        @echo "Makefile options:"
        @echo ""
        @echo "make                >  Default: Compiler = g++"
+       @echo "make gcc-popcnt     >  Compiler = g++ + popcnt-support"
        @echo "make icc            >  Compiler = icpc"
        @echo "make icc-profile    >  Compiler = icpc + automatic pgo-build"
+       @echo "make icc-profile-popcnt >  Compiler = icpc + automatic pgo-build + popcnt-support"
        @echo "make osx-ppc32      >  PPC-Mac OS X 32 bit. Compiler = g++"
        @echo "make osx-ppc64      >  PPC-Mac OS X 64 bit. Compiler = g++"
        @echo "make osx-x86        >  x86-Mac OS X 32 bit. Compiler = g++"
@@ -90,14 +96,18 @@ help:
        @echo "make osx-icc64      >  x86-Mac OS X 64 bit. Compiler = icpc"
        @echo "make osx-icc32-profile > OSX 32 bit. Compiler = icpc + automatic pgo-build"
        @echo "make osx-icc64-profile > OSX 64 bit. Compiler = icpc + automatic pgo-build"
+       @echo "make hpux           >  HP-UX. Compiler = aCC"
        @echo "make strip          >  Strip executable"
        @echo "make clean          >  Clean up"
        @echo ""
 
 all: $(EXE) .depend
 
+test check: default
+       @$(PGOBENCH)
+
 clean:
-       $(RM) *.o .depend *~ $(EXE)
+       $(RM) *.o .depend *~ $(EXE) core bench.txt
 
 
 ### Possible targets. You may add your own ones here
@@ -107,6 +117,13 @@ gcc:
        CXXFLAGS="$(GCCFLAGS)" \
        all
 
+gcc-popcnt:
+       $(MAKE) \
+       CXX='g++' \
+       CXXFLAGS="$(GCCFLAGS) -DUSE_POPCNT" \
+       all
+
+
 icc:
        $(MAKE) \
        CXX='icpc' \
@@ -141,6 +158,40 @@ icc-profile:
        $(MAKE) icc-profile-use
        @rm -rf profdir bench.txt
 
+icc-profile-make-with-popcnt:
+       $(MAKE) \
+       CXX='icpc' \
+       CXXFLAGS="$(ICCFLAGS) -DUSE_POPCNT" \
+       CXXFLAGS+='-prof-gen=srcpos -prof_dir ./profdir' \
+       all
+
+icc-profile-use-with-popcnt:
+       $(MAKE) \
+       CXX='icpc' \
+       CXXFLAGS="$(ICCFLAGS) -DUSE_POPCNT" \
+       CXXFLAGS+='-prof_use -prof_dir ./profdir' \
+       all
+
+icc-profile-popcnt:
+       @rm -rf profdir
+       @mkdir profdir
+       @touch *.cpp *.h
+       $(MAKE) icc-profile-make
+       @echo ""
+       @echo "Running benchmark for pgo-build (popcnt disabled)..."
+       @$(PGOBENCH) > /dev/null
+       @touch *.cpp *.h
+       $(MAKE) icc-profile-make-with-popcnt
+       @echo ""
+       @echo "Running benchmark for pgo-build (popcnt enabled)..."
+       @$(PGOBENCH) > /dev/null
+       @echo "Benchmarks finished. Build final executable now ..."
+       @echo ""
+       @touch *.cpp *.h
+       $(MAKE) icc-profile-use-with-popcnt
+       @rm -rf profdir bench.txt
+
+
 osx-ppc32:
        $(MAKE) \
        CXX='g++' \
@@ -253,6 +304,12 @@ osx-icc64-profile:
        $(MAKE) osx-icc64-profile-use
        @rm -rf profdir bench.txt
 
+hpux:
+       $(MAKE) \
+       CXX='/opt/aCC/bin/aCC -AA +hpxstd98 -DBIGENDIAN -mt +O3 -DNDEBUG' \
+       CXXFLAGS="" \
+       LDFLAGS="" \
+       all
 
 
 strip:
@@ -263,9 +320,14 @@ strip:
 $(EXE): $(OBJS)
        $(CXX) $(LDFLAGS) -o $@ $(OBJS)
 
+### Installation
+install: default
+       -mkdir -p -m 755 $(BINDIR)
+       -cp $(EXE) $(BINDIR)
+       -strip $(BINDIR)/$(EXE)
 
 ### Dependencies. Do not change
 .depend:
-       $(CXX) -msse -MM $(OBJS:.o=.cpp) > $@
+       -@$(CXX) -msse -MM $(OBJS:.o=.cpp) > $@ 2> /dev/null
 
-include .depend
+-include .depend