]> granicus.if.org Git - liblinear/commitdiff
Modify make.m so that it is workable
authorcoha <coha@16e7d947-dcc2-db11-b54a-0017319806e7>
Sat, 27 Aug 2011 05:04:47 +0000 (05:04 +0000)
committercoha <coha@16e7d947-dcc2-db11-b54a-0017319806e7>
Sat, 27 Aug 2011 05:04:47 +0000 (05:04 +0000)
for MATLAB and OCTAVE under Windows, Mac, and Unix.
Modify "linear.h" into "../linear.h".
Handle the varible MX_API_VER of OCTAVE.

matlab/linear_model_matlab.c
matlab/make.m
matlab/predict.c
matlab/train.c

index ee3773a3f1daea1d2fbba1a74cd2038d12062207..2d4076e6792decba352bed2406f82f6cfc5f6d34 100644 (file)
@@ -1,12 +1,14 @@
 #include <stdlib.h>
 #include <string.h>
-#include "linear.h"
+#include "../linear.h"
 
 #include "mex.h"
 
+#ifdef MX_API_VER
 #if MX_API_VER < 0x07030000
 typedef int mwIndex;
 #endif
+#endif
 
 #define Malloc(type,n) (type *)malloc((n)*sizeof(type))
 
index 1258e13db716f607a12a003ae403a9ea8c0745af..8823c80fc0661bc989e6da6299d972c7a96123d4 100644 (file)
@@ -1,10 +1,17 @@
-% This make.m is used under Windows\r
+% This make.m is for MATLAB and OCTAVE under Windows, Mac, and Unix\r
 \r
-mex -O -largeArrayDims -c ..\blas\*.c -outdir ..\blas\r
-mex -O -largeArrayDims -c ..\linear.cpp\r
-mex -O -largeArrayDims -c ..\tron.cpp\r
-mex -O -largeArrayDims -c linear_model_matlab.c -I..\\r
-mex -O -largeArrayDims train.c -I..\ tron.obj linear.obj linear_model_matlab.obj ..\blas\*.obj\r
-mex -O -largeArrayDims predict.c -I..\ tron.obj linear.obj linear_model_matlab.obj ..\blas\*.obj\r
-mex -O -largeArrayDims libsvmread.c\r
-mex -O -largeArrayDims libsvmwrite.c\r
+Type = ver;\r
+% This part is for OCTAVE\r
+if(strcmp(Type(1).Name, 'Octave') == 1)\r
+    mex libsvmread.c\r
+    mex libsvmwrite.c\r
+    mex train.c linear_model_matlab.c ../linear.cpp ../tron.cpp ../blas/*.c\r
+    mex predict.c linear_model_matlab.c ../linear.cpp ../tron.cpp ../blas/*.c\r
+% This part is for MATLAB\r
+% Add -largeArrayDims on 64-bit machines of MATLAB\r
+else\r
+    mex CFLAGS="\$CFLAGS -std=c99" -largeArrayDims libsvmread.c\r
+    mex CFLAGS="\$CFLAGS -std=c99" -largeArrayDims libsvmwrite.c\r
+    mex CFLAGS="\$CFLAGS -std=c99" -largeArrayDims train.c linear_model_matlab.c ../linear.cpp ../tron.cpp "../blas/*.c"\r
+    mex CFLAGS="\$CFLAGS -std=c99" -largeArrayDims predict.c linear_model_matlab.c ../linear.cpp ../tron.cpp "../blas/*.c"\r
+end\r
index 2704d36c5c042bc05f9accf4c913c12104ab60f2..b700a3e94a5b49cb26c183f6d10a40c83f602531 100644 (file)
@@ -1,14 +1,16 @@
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
-#include "linear.h"
+#include "../linear.h"
 
 #include "mex.h"
 #include "linear_model_matlab.h"
 
+#ifdef MX_API_VER
 #if MX_API_VER < 0x07030000
 typedef int mwIndex;
 #endif
+#endif
 
 #define CMD_LEN 2048
 
index b0b2b522cf148831c709463df9c4b9c4c2259adc..1094a51dc27c7543308f3f86d14113b8f75523bc 100644 (file)
@@ -3,14 +3,16 @@
 #include <stdlib.h>
 #include <string.h>
 #include <ctype.h>
-#include "linear.h"
+#include "../linear.h"
 
 #include "mex.h"
 #include "linear_model_matlab.h"
 
+#ifdef MX_API_VER
 #if MX_API_VER < 0x07030000
 typedef int mwIndex;
 #endif
+#endif
 
 #define CMD_LEN 2048
 #define Malloc(type,n) (type *)malloc((n)*sizeof(type))