mirror of
https://github.com/HChaZZY/Stockfish.git
synced 2025-12-24 02:57:11 +08:00
Proper Makefile for cross compiling 64 or 32 bit PGO + LTO + static Windows binaries under Linux.
No functional change Resolves #511
This commit is contained in:
33
src/Makefile
33
src/Makefile
@@ -159,7 +159,25 @@ endif
|
|||||||
|
|
||||||
ifeq ($(COMP),mingw)
|
ifeq ($(COMP),mingw)
|
||||||
comp=mingw
|
comp=mingw
|
||||||
CXX=g++
|
|
||||||
|
ifeq ($(UNAME),Linux)
|
||||||
|
ifeq ($(bits),64)
|
||||||
|
ifeq ($(shell which x86_64-w64-mingw32-c++-posix),)
|
||||||
|
CXX=x86_64-w64-mingw32-c++
|
||||||
|
else
|
||||||
|
CXX=x86_64-w64-mingw32-c++-posix
|
||||||
|
endif
|
||||||
|
else
|
||||||
|
ifeq ($(shell which i686-w64-mingw32-c++-posix),)
|
||||||
|
CXX=i686-w64-mingw32-c++
|
||||||
|
else
|
||||||
|
CXX=i686-w64-mingw32-c++-posix
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
else
|
||||||
|
CXX=g++
|
||||||
|
endif
|
||||||
|
|
||||||
CXXFLAGS += -Wextra -Wshadow
|
CXXFLAGS += -Wextra -Wshadow
|
||||||
LDFLAGS += -static
|
LDFLAGS += -static
|
||||||
endif
|
endif
|
||||||
@@ -307,7 +325,7 @@ ifeq ($(pext),yes)
|
|||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
### 3.11 Link Time Optimization, it works since gcc 4.5 but not on mingw.
|
### 3.11 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
|
### This is a mix of compile and link time options because the lto link phase
|
||||||
### needs access to the optimization flags.
|
### needs access to the optimization flags.
|
||||||
ifeq ($(comp),gcc)
|
ifeq ($(comp),gcc)
|
||||||
@@ -319,6 +337,17 @@ ifeq ($(comp),gcc)
|
|||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
ifeq ($(comp),mingw)
|
||||||
|
ifeq ($(UNAME),Linux)
|
||||||
|
ifeq ($(optimize),yes)
|
||||||
|
ifeq ($(debug),no)
|
||||||
|
CXXFLAGS += -flto
|
||||||
|
LDFLAGS += $(CXXFLAGS)
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
### 3.12 Android 5 can only run position independent executables. Note that this
|
### 3.12 Android 5 can only run position independent executables. Note that this
|
||||||
### breaks Android 4.0 and earlier.
|
### breaks Android 4.0 and earlier.
|
||||||
ifeq ($(arch),armv7)
|
ifeq ($(arch),armv7)
|
||||||
|
|||||||
Reference in New Issue
Block a user