]> git.sesse.net Git - stockfish/blobdiff - src/Makefile
Switch time management to 64 bits
[stockfish] / src / Makefile
index 72afcc35629405af04cb8d583172472277a98330..25436e25d5da58d9837408e7e18f0d0d148c6521 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
 EXE = stockfish
 
@@ -42,6 +36,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 +204,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 +280,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 +327,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