]> git.sesse.net Git - stockfish/blobdiff - src/Makefile
Better check evasion move sorting
[stockfish] / src / Makefile
index 72afcc35629405af04cb8d583172472277a98330..34264e78e0cef94733a495d516f7a637f459c635 100644 (file)
 ### Section 1. General Configuration
 ### ==========================================================================
 
-### Establish the operating system name
-KERNEL = $(shell uname -s)
-ifeq ($(KERNEL),Linux)
-       OS = $(shell uname -o)
-endif
-
 ### Executable name
+ifeq ($(COMP),mingw)
+EXE = stockfish.exe
+else
 EXE = stockfish
+endif
 
 ### Installation dir definitions
 PREFIX = /usr/local
@@ -42,6 +40,12 @@ OBJS = benchmark.o bitbase.o bitboard.o endgame.o evaluate.o main.o \
        material.o misc.o movegen.o movepick.o pawns.o position.o psqt.o \
        search.o thread.o timeman.o tt.o uci.o ucioption.o syzygy/tbprobe.o
 
+### Establish the operating system name
+KERNEL = $(shell uname -s)
+ifeq ($(KERNEL),Linux)
+       OS = $(shell uname -o)
+endif
+
 ### ==========================================================================
 ### Section 2. High-level Configuration
 ### ==========================================================================
@@ -204,11 +208,12 @@ ifeq ($(COMP),clang)
        comp=clang
        CXX=clang++
        CXXFLAGS += -pedantic -Wextra -Wshadow
-ifneq ($(KERNEL),Darwin)
-ifneq ($(KERNEL),OpenBSD)
-       LDFLAGS += -latomic
-endif
-endif
+
+       ifneq ($(KERNEL),Darwin)
+       ifneq ($(KERNEL),OpenBSD)
+               LDFLAGS += -latomic
+       endif
+       endif
 
        ifeq ($(ARCH),armv7)
                ifeq ($(OS),Android)
@@ -279,39 +284,16 @@ ifeq ($(optimize),yes)
        CXXFLAGS += -O3
 
        ifeq ($(comp),gcc)
-
-               ifeq ($(KERNEL),Darwin)
-                       ifeq ($(arch),i386)
-                               CXXFLAGS += -mdynamic-no-pic
-                       endif
-                       ifeq ($(arch),x86_64)
-                               CXXFLAGS += -mdynamic-no-pic
-                       endif
-               endif
-
                ifeq ($(OS), Android)
                        CXXFLAGS += -fno-gcse -mthumb -march=armv7-a -mfloat-abi=softfp
                endif
        endif
-
-       ifeq ($(comp),icc)
+       
+       ifeq ($(comp),$(filter $(comp),gcc clang icc))
                ifeq ($(KERNEL),Darwin)
                        CXXFLAGS += -mdynamic-no-pic
                endif
        endif
-
-       ifeq ($(comp),clang)
-               ifeq ($(KERNEL),Darwin)
-                               CXXFLAGS += -flto
-                               LDFLAGS += $(CXXFLAGS)
-                       ifeq ($(arch),i386)
-                               CXXFLAGS += -mdynamic-no-pic
-                       endif
-                       ifeq ($(arch),x86_64)
-                               CXXFLAGS += -mdynamic-no-pic
-                       endif
-               endif
-       endif
 endif
 
 ### 3.4 Bits
@@ -349,24 +331,20 @@ endif
 ### 3.8 Link Time Optimization, it works since gcc 4.5 but not on mingw under Windows.
 ### This is a mix of compile and link time options because the lto link phase
 ### needs access to the optimization flags.
-ifeq ($(comp),gcc)
-       ifeq ($(optimize),yes)
-       ifeq ($(debug),no)
+ifeq ($(optimize),yes)
+ifeq ($(debug), no)
+       ifeq ($(comp),$(filter $(comp),gcc clang))
                CXXFLAGS += -flto
                LDFLAGS += $(CXXFLAGS)
        endif
-       endif
-endif
 
-ifeq ($(comp),mingw)
+       ifeq ($(comp),mingw)
        ifeq ($(KERNEL),Linux)
-       ifeq ($(optimize),yes)
-       ifeq ($(debug),no)
                CXXFLAGS += -flto
                LDFLAGS += $(CXXFLAGS)
        endif
        endif
-       endif
+endif
 endif
 
 ### 3.9 Android 5 can only run position independent executables. Note that this
@@ -463,7 +441,7 @@ clean: objclean profileclean
 
 # clean binaries and objects
 objclean:
-       @rm -f $(EXE) $(EXE).exe *.o ./syzygy/*.o
+       @rm -f $(EXE) *.o ./syzygy/*.o
 
 # clean auxiliary profiling files
 profileclean: