| @@ -0,0 +1,45 @@ | |||||
| # This Makefile is used under Linux | |||||
| MATLABDIR ?= /usr/local/matlab | |||||
| # for Mac | |||||
| # MATLABDIR ?= /opt/local/matlab | |||||
| CXX ?= g++ | |||||
| #CXX = g++-4.1 | |||||
| CFLAGS = -Wall -Wconversion -O3 -fPIC -I$(MATLABDIR)/extern/include -I.. | |||||
| MEX = $(MATLABDIR)/bin/mex | |||||
| MEX_OPTION = CC="$(CXX)" CXX="$(CXX)" CFLAGS="$(CFLAGS)" CXXFLAGS="$(CFLAGS)" | |||||
| # comment the following line if you use MATLAB on 32-bit computer | |||||
| MEX_OPTION += -largeArrayDims | |||||
| MEX_EXT = $(shell $(MATLABDIR)/bin/mexext) | |||||
| all: matlab | |||||
| matlab: binary | |||||
| octave: | |||||
| @echo "please type make under Octave" | |||||
| binary: svmpredict.$(MEX_EXT) svmtrain.$(MEX_EXT) libsvmread.$(MEX_EXT) libsvmwrite.$(MEX_EXT) | |||||
| svmpredict.$(MEX_EXT): svmpredict.c ../svm.h ../svm.o svm_model_matlab.o | |||||
| $(MEX) $(MEX_OPTION) svmpredict.c ../svm.o svm_model_matlab.o | |||||
| svmtrain.$(MEX_EXT): svmtrain.c ../svm.h ../svm.o svm_model_matlab.o | |||||
| $(MEX) $(MEX_OPTION) svmtrain.c ../svm.o svm_model_matlab.o | |||||
| libsvmread.$(MEX_EXT): libsvmread.c | |||||
| $(MEX) $(MEX_OPTION) libsvmread.c | |||||
| libsvmwrite.$(MEX_EXT): libsvmwrite.c | |||||
| $(MEX) $(MEX_OPTION) libsvmwrite.c | |||||
| svm_model_matlab.o: svm_model_matlab.c ../svm.h | |||||
| $(CXX) $(CFLAGS) -c svm_model_matlab.c | |||||
| ../svm.o: ../svm.cpp ../svm.h | |||||
| make -C .. svm.o | |||||
| clean: | |||||
| rm -f *~ *.o *.mex* *.obj ../svm.o | |||||