28ca7beadd linear readmeca4b20fadd linear readme1133628add linear readme6a11676update docsa607047Update build.sh2c1cfd8complete yarn4f28e32change formater2fbda81fix stdin input3258bcfcheckin yarn master67ebf81allow setup from env variables9b6bf57fix hdfs395d5c2add make system88ce767refactor io, initial hdfs file access need test19be870chgsa1bd3c6Merge branch 'master' of ssh://github.com/tqchen/rabit1a573f9introduce input split29476f1fix timer issue git-subtree-dir: subtree/rabit git-subtree-split:28ca7becbd
103 lines
3.4 KiB
Makefile
103 lines
3.4 KiB
Makefile
export CC = gcc
|
|
export CXX = g++
|
|
export MPICXX = mpicxx
|
|
export LDFLAGS= -pthread -lm
|
|
export CFLAGS = -Wall -O3 -msse2 -Wno-unknown-pragmas -fPIC
|
|
|
|
ifeq ($(no_omp),1)
|
|
CFLAGS += -DDISABLE_OPENMP
|
|
else
|
|
CFLAGS += -fopenmp
|
|
endif
|
|
|
|
# by default use c++11
|
|
ifeq ($(cxx11),1)
|
|
CFLAGS += -std=c++11
|
|
else
|
|
endif
|
|
|
|
# specify tensor path
|
|
BIN = xgboost
|
|
MOCKBIN = xgboost.mock
|
|
OBJ = updater.o gbm.o io.o main.o
|
|
MPIBIN = xgboost.mpi
|
|
SLIB = wrapper/libxgboostwrapper.so
|
|
|
|
.PHONY: clean all mpi python Rpack
|
|
|
|
all: $(BIN) $(OBJ) $(SLIB)
|
|
mpi: $(MPIBIN)
|
|
|
|
python: wrapper/libxgboostwrapper.so
|
|
# now the wrapper takes in two files. io and wrapper part
|
|
updater.o: src/tree/updater.cpp src/tree/*.hpp src/*.h src/tree/*.h src/utils/*.h
|
|
gbm.o: src/gbm/gbm.cpp src/gbm/*.hpp src/gbm/*.h
|
|
io.o: src/io/io.cpp src/io/*.hpp src/utils/*.h src/learner/dmatrix.h src/*.h
|
|
main.o: src/xgboost_main.cpp src/utils/*.h src/*.h src/learner/*.hpp src/learner/*.h
|
|
xgboost.mpi: updater.o gbm.o io.o main.o subtree/rabit/lib/librabit_mpi.a
|
|
xgboost.mock: updater.o gbm.o io.o main.o subtree/rabit/lib/librabit_mock.a
|
|
xgboost: updater.o gbm.o io.o main.o subtree/rabit/lib/librabit.a
|
|
wrapper/libxgboostwrapper.so: wrapper/xgboost_wrapper.cpp src/utils/*.h src/*.h src/learner/*.hpp src/learner/*.h updater.o gbm.o io.o subtree/rabit/lib/librabit.a
|
|
|
|
# dependency on rabit
|
|
subtree/rabit/lib/librabit.a: subtree/rabit/src/engine.cc
|
|
cd subtree/rabit;make lib/librabit.a; cd ../..
|
|
subtree/rabit/lib/librabit_empty.a: subtree/rabit/src/engine_empty.cc
|
|
cd subtree/rabit;make lib/librabit_empty.a; cd ../..
|
|
subtree/rabit/lib/librabit_mock.a: subtree/rabit/src/engine_mock.cc
|
|
cd subtree/rabit;make lib/librabit_mock.a; cd ../..
|
|
subtree/rabit/lib/librabit_mpi.a: subtree/rabit/src/engine_mpi.cc
|
|
cd subtree/rabit;make lib/librabit_mpi.a; cd ../..
|
|
|
|
$(BIN) :
|
|
$(CXX) $(CFLAGS) -o $@ $(filter %.cpp %.o %.c %.cc %.a, $^) $(LDFLAGS)
|
|
|
|
$(MOCKBIN) :
|
|
$(CXX) $(CFLAGS) -o $@ $(filter %.cpp %.o %.c %.cc %.a, $^) $(LDFLAGS)
|
|
|
|
$(SLIB) :
|
|
$(CXX) $(CFLAGS) -fPIC -shared -o $@ $(filter %.cpp %.o %.c %.a %.cc, $^) $(LDFLAGS)
|
|
|
|
$(OBJ) :
|
|
$(CXX) -c $(CFLAGS) -o $@ $(firstword $(filter %.cpp %.c %.cc, $^) )
|
|
|
|
$(MPIOBJ) :
|
|
$(MPICXX) -c $(CFLAGS) -o $@ $(firstword $(filter %.cpp %.c, $^) )
|
|
|
|
$(MPIBIN) :
|
|
$(MPICXX) $(CFLAGS) -o $@ $(filter %.cpp %.o %.c %.cc %.a, $^) $(LDFLAGS)
|
|
|
|
install:
|
|
cp -f -r $(BIN) $(INSTALL_PATH)
|
|
|
|
Rpack:
|
|
make clean
|
|
cd subtree/rabit;make clean;cd ..
|
|
rm -rf xgboost xgboost*.tar.gz
|
|
cp -r R-package xgboost
|
|
rm -rf xgboost/src/*.o xgboost/src/*.so xgboost/src/*.dll
|
|
rm -rf xgboost/src/*/*.o
|
|
rm -rf subtree/rabit/src/*.o
|
|
rm -rf xgboost/demo/*.model xgboost/demo/*.buffer xgboost/demo/*.txt
|
|
rm -rf xgboost/demo/runall.R
|
|
cp -r src xgboost/src/src
|
|
mkdir xgboost/src/subtree
|
|
mkdir xgboost/src/subtree/rabit
|
|
cp -r subtree/rabit/include xgboost/src/subtree/rabit/include
|
|
cp -r subtree/rabit/src xgboost/src/subtree/rabit/src
|
|
rm -rf xgboost/src/subtree/rabit/src/*.o
|
|
mkdir xgboost/src/wrapper
|
|
cp wrapper/xgboost_wrapper.h xgboost/src/wrapper
|
|
cp wrapper/xgboost_wrapper.cpp xgboost/src/wrapper
|
|
cp ./LICENSE xgboost
|
|
cat R-package/src/Makevars|sed '2s/.*/PKGROOT=./' > xgboost/src/Makevars
|
|
cp xgboost/src/Makevars xgboost/src/Makevars.win
|
|
# R CMD build --no-build-vignettes xgboost
|
|
R CMD build xgboost
|
|
rm -rf xgboost
|
|
R CMD check --as-cran xgboost*.tar.gz
|
|
|
|
clean:
|
|
$(RM) -rf $(OBJ) $(BIN) $(MPIBIN) $(MPIOBJ) $(SLIB) *.o */*.o */*/*.o *~ */*~ */*/*~
|
|
cd subtree/rabit; make clean; cd ..
|