1# This Makefile is used under Linux 2 3MATLABDIR ?= /usr/local/matlab 4# for Mac 5# MATLABDIR ?= /opt/local/matlab 6 7CXX ?= g++ 8#CXX = g++-4.1 9CFLAGS = -Wall -Wconversion -O3 -fPIC -I$(MATLABDIR)/extern/include -I.. 10 11MEX = $(MATLABDIR)/bin/mex 12MEX_OPTION = CC="$(CXX)" CXX="$(CXX)" CFLAGS="$(CFLAGS)" CXXFLAGS="$(CFLAGS)" 13# comment the following line if you use MATLAB on 32-bit computer 14MEX_OPTION += -largeArrayDims 15MEX_EXT = $(shell $(MATLABDIR)/bin/mexext) 16 17all: matlab 18 19matlab: binary 20 21octave: 22 @echo "please type make under Octave" 23 24binary: svmpredict.$(MEX_EXT) svmtrain.$(MEX_EXT) libsvmread.$(MEX_EXT) libsvmwrite.$(MEX_EXT) 25 26svmpredict.$(MEX_EXT): svmpredict.c ../svm.h ../svm.o svm_model_matlab.o 27 $(MEX) $(MEX_OPTION) svmpredict.c ../svm.o svm_model_matlab.o 28 29svmtrain.$(MEX_EXT): svmtrain.c ../svm.h ../svm.o svm_model_matlab.o 30 $(MEX) $(MEX_OPTION) svmtrain.c ../svm.o svm_model_matlab.o 31 32libsvmread.$(MEX_EXT): libsvmread.c 33 $(MEX) $(MEX_OPTION) libsvmread.c 34 35libsvmwrite.$(MEX_EXT): libsvmwrite.c 36 $(MEX) $(MEX_OPTION) libsvmwrite.c 37 38svm_model_matlab.o: svm_model_matlab.c ../svm.h 39 $(CXX) $(CFLAGS) -c svm_model_matlab.c 40 41../svm.o: ../svm.cpp ../svm.h 42 make -C .. svm.o 43 44clean: 45 rm -f *~ *.o *.mex* *.obj ../svm.o 46