more strict makefile

This commit is contained in:
tqchen 2014-08-31 13:13:11 -07:00
parent 37499245ea
commit 1ed40e2b46
2 changed files with 16 additions and 39 deletions

View File

@ -1,32 +1,21 @@
# package root # package root
PKGROOT=../../ PKGROOT=../../
# _*_ mode: Makefile; _*_ # _*_ mode: Makefile; _*_
CXX=`"${R_HOME}/bin/R" CMD config CXX` PKG_CPPFLAGS= -DXGBOOST_CUSTOMIZE_MSG_ -I$(PKGROOT)
TCXXFLAGS=`"${R_HOME}/bin/R" CMD config CXXFLAGS` PKG_CXXFLAGS= $(SHLIB_OPENMP_CFLAGS)
# expose these flags to R CMD SHLIB
PKG_CPPFLAGS= -DXGBOOST_CUSTOMIZE_MSG_ -I$(PKGROOT) $(SHLIB_OPENMP_CFLAGS)
XGBFLAG= $(TCXXFLAGS) -DXGBOOST_CUSTOMIZE_MSG_ -fPIC $(SHLIB_OPENMP_CFLAGS)
PKG_LIBS = $(SHLIB_OPENMP_CFLAGS) PKG_LIBS = $(SHLIB_OPENMP_CFLAGS)
CXXOBJ= xgboost_wrapper.o xgboost_io.o xgboost_gbm.o xgboost_updater.o CXXOBJ= $(PKGROOT)/wrapper/xgboost_wrapper.o\
$(PKGROOT)/src/io/io.o\
$(PKGROOT)/src/gbm/gbm.o\
$(PKGROOT)/src/tree/updater.o
OBJECTS= xgboost_R.o $(CXXOBJ) OBJECTS= xgboost_R.o $(CXXOBJ)
.PHONY: all clean .PHONY: all clean
all: $(SHLIB) all: $(SHLIB)
$(SHLIB): $(OBJECTS) $(SHLIB): $(OBJECTS)
xgboost_wrapper.o: $(PKGROOT)/wrapper/xgboost_wrapper.cpp
$(CXX) -c $(XGBFLAG) -o xgboost_wrapper.o $(PKGROOT)/wrapper/xgboost_wrapper.cpp
xgboost_io.o: $(PKGROOT)/src/io/io.cpp
$(CXX) -c $(XGBFLAG) -o xgboost_io.o $(PKGROOT)/src/io/io.cpp
xgboost_gbm.o: $(PKGROOT)/src/gbm/gbm.cpp
$(CXX) -c $(XGBFLAG) -o xgboost_gbm.o $(PKGROOT)/src/gbm/gbm.cpp
xgboost_updater.o: $(PKGROOT)/src/tree/updater.cpp
$(CXX) -c $(XGBFLAG) -o xgboost_updater.o $(PKGROOT)/src/tree/updater.cpp
clean: clean:
rm -rf *.so *.o *~ *.dll rm -rf *.so *.o *~ *.dll $(OBJECTS)

View File

@ -1,32 +1,20 @@
# package root # package root
PKGROOT=../../ PKGROOT=../../
# _*_ mode: Makefile; _*_ # _*_ mode: Makefile; _*_
CXX=`"${R_HOME}/bin/Rcmd" config CXX` PKG_CPPFLAGS= -DXGBOOST_CUSTOMIZE_MSG_ -I$(PKGROOT)
# overwrite CXXFLAGS, in order to force evaluate it in windows PKG_CXXFLAGS= $(SHLIB_OPENMP_CFLAGS)
CXXFLAGS=`"${R_HOME}/bin/Rcmd" config CXXFLAGS`
# expose these flags to R CMD SHLIB
PKG_CPPFLAGS= -DXGBOOST_CUSTOMIZE_MSG_ -I$(PKGROOT) $(SHLIB_OPENMP_CFLAGS)
XGBFLAG= $(CXXFLAGS) -DXGBOOST_CUSTOMIZE_MSG_ -fPIC $(SHLIB_OPENMP_CFLAGS)
PKG_LIBS = $(SHLIB_OPENMP_CFLAGS) PKG_LIBS = $(SHLIB_OPENMP_CFLAGS)
CXXOBJ= xgboost_wrapper.o xgboost_io.o xgboost_gbm.o xgboost_updater.o CXXOBJ= $(PKGROOT)/wrapper/xgboost_wrapper.o\
$(PKGROOT)/src/io/io.o\
$(PKGROOT)/src/gbm/gbm.o\
$(PKGROOT)/src/tree/updater.o
OBJECTS= xgboost_R.o $(CXXOBJ) OBJECTS= xgboost_R.o $(CXXOBJ)
.PHONY: all clean .PHONY: all clean
all: $(SHLIB) all: $(SHLIB)
$(SHLIB): $(OBJECTS) $(SHLIB): $(OBJECTS)
xgboost_wrapper.o: $(PKGROOT)/wrapper/xgboost_wrapper.cpp
$(CXX) -c $(XGBFLAG) -o xgboost_wrapper.o $(PKGROOT)/wrapper/xgboost_wrapper.cpp
xgboost_io.o: $(PKGROOT)/src/io/io.cpp
$(CXX) -c $(XGBFLAG) -o xgboost_io.o $(PKGROOT)/src/io/io.cpp
xgboost_gbm.o: $(PKGROOT)/src/gbm/gbm.cpp
$(CXX) -c $(XGBFLAG) -o xgboost_gbm.o $(PKGROOT)/src/gbm/gbm.cpp
xgboost_updater.o: $(PKGROOT)/src/tree/updater.cpp
$(CXX) -c $(XGBFLAG) -o xgboost_updater.o $(PKGROOT)/src/tree/updater.cpp
clean: clean:
rm -rf *.so *.o *~ *.dll rm -rf *.so *.o *~ *.dll $(OBJECTS)