]> git.sesse.net Git - stockfish/blobdiff - src/Makefile
Ignore two braindamaged remarks under icc
[stockfish] / src / Makefile
index b383f93afc9e7c5f42f8a10b48019bb5571a790d..7eef34166af9c729e822ed684f1f881c8730ca0c 100644 (file)
@@ -33,10 +33,9 @@ BINDIR = $(PREFIX)/bin
 PGOBENCH = ./$(EXE) bench 32 1 10 default depth
 
 ### Object files
-OBJS = application.o bitboard.o pawns.o material.o endgame.o evaluate.o main.o \
-       misc.o move.o movegen.o history.o movepick.o search.o piece.o \
-       position.o direction.o tt.o value.o uci.o ucioption.o \
-       mersenne.o book.o bitbase.o san.o benchmark.o
+OBJS = bitboard.o pawns.o material.o endgame.o evaluate.o main.o \
+       misc.o move.o movegen.o history.o movepick.o search.o position.o \
+       direction.o tt.o uci.o ucioption.o book.o bitbase.o san.o benchmark.o timeman.o
 
 
 ### ==========================================================================
@@ -52,7 +51,7 @@ OBJS = application.o bitboard.o pawns.o material.o endgame.o evaluate.o main.o \
 # os = (name)         ---             --- Target operating system
 # bits = 64/32        --- -DIS_64BIT  --- 64-/32-bit operating system
 # bigendian = no/yes  --- -DBIGENDIAN --- big/little-endian byte order
-# prefetch = no/yes   --- -DPREFETCH  --- Use prefetch x86 asm-instruction
+# prefetch = no/yes   --- -DUSE_PREFETCH  --- Use prefetch x86 asm-instruction
 # bsfq = no/yes       --- -DUSE_BSFQ  --- Use bsfq x86_64 asm-instruction
 #                                     --- (Works only with GCC and ICC 64-bit)
 # popcnt = no/yes     --- -DUSE_POPCNT --- Use popcnt x86_64 asm-instruction
@@ -200,6 +199,15 @@ ifeq ($(COMP),)
        COMP=gcc
 endif
 
+ifeq ($(COMP),mingw)
+       comp=mingw
+       CXX=g++
+       profile_prepare = gcc-profile-prepare
+       profile_make = gcc-profile-make
+       profile_use = gcc-profile-use
+       profile_clean = gcc-profile-clean
+endif
+
 ifeq ($(COMP),gcc)
        comp=gcc
        CXX=g++
@@ -219,10 +227,18 @@ ifeq ($(COMP),icc)
 endif
 
 ### 3.2 General compiler settings
-CXXFLAGS += -g -Wall -fno-exceptions -fno-rtti $(EXTRACXXFLAGS)
+CXXFLAGS = -g -Wall -Wcast-qual -fno-exceptions -fno-rtti $(EXTRACXXFLAGS)
+
+ifeq ($(comp),gcc)
+       CXXFLAGS += -ansi -pedantic -Wno-long-long -Wextra
+endif
+
+ifeq ($(comp),mingw)
+       CXXFLAGS += -Wno-long-long -Wextra
+endif
 
 ifeq ($(comp),icc)
-       CXXFLAGS += -wd383,869,981,10187,10188,11505,11503
+       CXXFLAGS += -wd383,981,1418,1419,10187,10188,11505,11503 -Wcheck -Wabi -Wdeprecated -strict-ansi
 endif
 
 ifeq ($(os),osx)
@@ -230,7 +246,7 @@ ifeq ($(os),osx)
 endif
 
 ### 3.3 General linker settings
-LDFLAGS += -lpthread $(EXTRALDFLAGS)
+LDFLAGS = -lpthread $(EXTRALDFLAGS)
 
 ifeq ($(os),osx)
        LDFLAGS += -arch $(arch)
@@ -257,6 +273,10 @@ ifeq ($(optimize),yes)
                endif
        endif
 
+       ifeq ($(comp),mingw)
+               CXXFLAGS += -O3
+       endif
+
        ifeq ($(comp),icc)
                CXXFLAGS += -fast
 
@@ -278,8 +298,10 @@ endif
 
 ### 3.8 prefetch
 ifeq ($(prefetch),yes)
-       CXXFLAGS += -msse -DUSE_PREFETCH
+       CXXFLAGS += -msse
        DEPENDFLAGS += -msse
+else
+       CXXFLAGS += -DNO_PREFETCH
 endif
 
 ### 3.9 bsfq
@@ -334,6 +356,7 @@ help:
        @echo ""
        @echo "gcc                  > Gnu compiler (default)"
        @echo "icc                  > Intel compiler"
+       @echo "mingw                > Gnu compiler with MinGW under Windows"
        @echo ""
        @echo "Non-standard targets:"
        @echo ""
@@ -400,13 +423,13 @@ popcnt-profile-build:
 strip:
        strip $(EXE)
 
-install: default
+install:
        -mkdir -p -m 755 $(BINDIR)
        -cp $(EXE) $(BINDIR)
        -strip $(BINDIR)/$(EXE)
 
 clean:
-       $(RM) $(EXE) *.o .depend *~ core bench.txt
+       $(RM) $(EXE) $(EXE).exe *.o .depend *~ core bench.txt *.gcda
 
 testrun:
        @$(PGOBENCH)
@@ -447,7 +470,7 @@ config-sanity:
        @test "$(prefetch)" = "yes" || test "$(prefetch)" = "no"
        @test "$(bsfq)" = "yes" || test "$(bsfq)" = "no"
        @test "$(popcnt)" = "yes" || test "$(popcnt)" = "no"
-       @test "$(comp)" = "gcc" || test "$(comp)" = "icc"
+       @test "$(comp)" = "gcc" || test "$(comp)" = "icc" || test "$(comp)" = "mingw"
 
 $(EXE): $(OBJS)
        $(CXX) -o $@ $(OBJS) $(LDFLAGS)
@@ -467,7 +490,7 @@ gcc-profile-use:
        all
 
 gcc-profile-clean:
-       @rm -rf *.gcda bench.txt
+       @rm -rf *.gcda *.gcno bench.txt
 
 icc-profile-prepare:
        $(MAKE) ARCH=$(ARCH) COMP=$(COMP) icc-profile-clean
@@ -498,7 +521,7 @@ icc-profile-clean:
 
 hpux:
        $(MAKE) \
-       CXX='/opt/aCC/bin/aCC -AA +hpxstd98 -DBIGENDIAN -mt +O3 -DNDEBUG' \
+       CXX='/opt/aCC/bin/aCC -AA +hpxstd98 -DBIGENDIAN -mt +O3 -DNDEBUG -DNO_PREFETCH' \
        CXXFLAGS="" \
        LDFLAGS="" \
        all