* Find dependency only when xgboost is built as static library. * Resolve msvc warning. * Add test for linking shared library.
40 lines
1.3 KiB
Plaintext
40 lines
1.3 KiB
Plaintext
# package root
|
|
PKGROOT=./
|
|
ENABLE_STD_THREAD=0
|
|
# _*_ mode: Makefile; _*_
|
|
|
|
# This file is only used for Windows compilation from GitHub
|
|
# It will be replaced with Makevars.in for the CRAN version
|
|
.PHONY: all xgblib
|
|
all: $(SHLIB)
|
|
$(SHLIB): xgblib
|
|
xgblib:
|
|
cp -r ../../src .
|
|
cp -r ../../rabit .
|
|
cp -r ../../dmlc-core .
|
|
cp -r ../../include .
|
|
cp -r ../../amalgamation .
|
|
|
|
CXX_STD = CXX14
|
|
|
|
XGB_RFLAGS = -DXGBOOST_STRICT_R_MODE=1 -DDMLC_LOG_BEFORE_THROW=0\
|
|
-DDMLC_ENABLE_STD_THREAD=$(ENABLE_STD_THREAD) -DDMLC_DISABLE_STDIN=1\
|
|
-DDMLC_LOG_CUSTOMIZE=1 -DXGBOOST_CUSTOMIZE_LOGGER=1\
|
|
-DRABIT_CUSTOMIZE_MSG_
|
|
|
|
# disable the use of thread_local for 32 bit windows:
|
|
ifeq ($(R_OSTYPE)$(WIN),windows)
|
|
XGB_RFLAGS += -DDMLC_CXX11_THREAD_LOCAL=0
|
|
endif
|
|
$(foreach v, $(XGB_RFLAGS), $(warning $(v)))
|
|
|
|
PKG_CPPFLAGS= -I$(PKGROOT)/include -I$(PKGROOT)/dmlc-core/include -I$(PKGROOT)/rabit/include -I$(PKGROOT) $(XGB_RFLAGS)
|
|
PKG_CXXFLAGS= $(SHLIB_OPENMP_CXXFLAGS) $(SHLIB_PTHREAD_FLAGS)
|
|
PKG_LIBS = $(SHLIB_OPENMP_CXXFLAGS) $(SHLIB_PTHREAD_FLAGS)
|
|
OBJECTS= ./xgboost_R.o ./xgboost_custom.o ./xgboost_assert.o ./init.o \
|
|
$(PKGROOT)/amalgamation/xgboost-all0.o $(PKGROOT)/amalgamation/dmlc-minimum0.o \
|
|
$(PKGROOT)/rabit/src/engine.o $(PKGROOT)/rabit/src/rabit_c_api.o \
|
|
$(PKGROOT)/rabit/src/allreduce_base.o
|
|
|
|
$(OBJECTS) : xgblib
|