ifeq ($(COMP),mingw)
comp=mingw
- CXX=g++
+ ifeq ($(UNAME),Linux)
+ CXX=x86_64-w64-mingw32-g++-posix
+ else
+ CXX=g++
+ endif
CXXFLAGS += -Wextra -Wshadow
LDFLAGS += -static
endif
LDFLAGS += -arch $(arch) -mmacosx-version-min=10.9
endif
+### Travis CI script uses COMPILER to overwrite CXX
+ifdef COMPILER
+ CXX=$(COMPILER)
+endif
+
### On mingw use Windows threads, otherwise POSIX
ifneq ($(comp),mingw)
# On Android Bionic's C library comes with its own pthread implementation bundled in
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
### needs access to the optimization flags.
ifeq ($(comp),gcc)
endif
endif
+ifeq ($(UNAME),Linux)
+ifeq ($(comp),mingw)
+ 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
### breaks Android 4.0 and earlier.
ifeq ($(arch),armv7)
$(MAKE) ARCH=$(ARCH) COMP=$(COMP) $(profile_make)
@echo ""
@echo "Step 2/4. Running benchmark for pgo-build ..."
- @$(PGOBENCH) > /dev/null
+ $(PGOBENCH) > /dev/null
@echo ""
@echo "Step 3/4. Building final executable ..."
@touch *.cpp *.h syzygy/*.cpp syzygy/*.h