parent
a5205db2cb
commit
6f17cf8cf8
@ -1,151 +0,0 @@
|
||||
diff -up ./Makefile.orig ./Makefile
|
||||
--- ./Makefile.orig 2007-08-30 15:29:42.000000000 +1000
|
||||
+++ ./Makefile 2007-08-30 15:30:25.000000000 +1000
|
||||
@@ -1,7 +1,31 @@
|
||||
CXXC = g++
|
||||
CFLAGS = -Wall -O3
|
||||
+MAKE = make
|
||||
|
||||
-all: svm-train svm-predict svm-scale
|
||||
+ifndef DESTDIR
|
||||
+INSTDIR=/usr
|
||||
+else
|
||||
+INSTDIR=${DESTDIR}/usr
|
||||
+endif
|
||||
+
|
||||
+export INSTDIR
|
||||
+
|
||||
+PROCESSOR=$(shell /bin/uname -p)
|
||||
+ifeq "${PROCESSOR}" "x86_64"
|
||||
+X86_64=64
|
||||
+else
|
||||
+X86_64=
|
||||
+endif
|
||||
+
|
||||
+ifndef LIBDIR
|
||||
+LIB_INSTDIR=${INSTDIR}/lib${X86_64}
|
||||
+else
|
||||
+LIB_INSTDIR=${INSTDIR}/..${LIBDIR}
|
||||
+endif
|
||||
+
|
||||
+export LIB_INSTDIR
|
||||
+
|
||||
+all: svm-train svm-predict svm-scale svm-python
|
||||
|
||||
svm-predict: svm-predict.c svm.o
|
||||
$(CXXC) $(CFLAGS) svm-predict.c svm.o -o svm-predict -lm
|
||||
@@ -11,5 +35,45 @@ svm-scale: svm-scale.c
|
||||
$(CXXC) $(CFLAGS) svm-scale.c -o svm-scale
|
||||
svm.o: svm.cpp svm.h
|
||||
$(CXXC) $(CFLAGS) -c svm.cpp
|
||||
+svm-python:
|
||||
+ ${MAKE} -C python
|
||||
+
|
||||
+install: all
|
||||
+ mkdir -p ${INSTDIR}/bin
|
||||
+ install -m 755 svm-train ${INSTDIR}/bin
|
||||
+ install -m 755 svm-predict ${INSTDIR}/bin
|
||||
+ install -m 755 svm-scale ${INSTDIR}/bin
|
||||
+ mkdir -p ${LIB_INSTDIR}/libsvm
|
||||
+# install package libsvm-devel
|
||||
+ install -m 644 svm.o ${LIB_INSTDIR}/libsvm
|
||||
+ mkdir -p ${INSTDIR}/include/libsvm
|
||||
+ install -m 644 svm.h ${INSTDIR}/include/libsvm
|
||||
+ mkdir -p ${INSTDIR}/share/libsvm/src
|
||||
+ install -m 644 *.h ${INSTDIR}/share/libsvm/src
|
||||
+ install -m 644 *.c ${INSTDIR}/share/libsvm/src
|
||||
+ install -m 644 *.cpp ${INSTDIR}/share/libsvm/src
|
||||
+ install -m 644 Makefile ${INSTDIR}/share/libsvm/src
|
||||
+ cp -R java ${INSTDIR}/share/libsvm/src
|
||||
+ cp -R svm-toy ${INSTDIR}/share/libsvm/src
|
||||
+# cp -R tools ${INSTDIR}/share/libsvm/src
|
||||
+# cp -R windows ${INSTDIR}/share/libsvm/src
|
||||
+ mkdir -p ${INSTDIR}/share/libsvm/examples
|
||||
+ install -m 644 heart_scale ${INSTDIR}/share/libsvm/examples
|
||||
+# install package libsvm-python
|
||||
+ ${MAKE} -C python install
|
||||
+
|
||||
+uninstall:
|
||||
+ rm -f ${INSTDIR}/bin/svm-train
|
||||
+ rm -f ${INSTDIR}/bin/svm-predict
|
||||
+ rm -f ${INSTDIR}/bin/svm-scale
|
||||
+ rm -fr ${INSTDIR}/libsvm/examples
|
||||
+ rm -f ${INSTDIR}/include/libsvm/svm.h
|
||||
+ rm -f ${LIB_INSTDIR}/libsvm/svm.o
|
||||
+ rm -fr ${INSTDIR}/libsvm/src
|
||||
+ rm -fr ${INSTDIR}/libsvm
|
||||
+ ${MAKE} -C python uninstall
|
||||
+
|
||||
clean:
|
||||
rm -f *~ svm.o svm-train svm-predict svm-scale
|
||||
+ ${MAKE} -C python clean
|
||||
+
|
||||
diff -up ./python/Makefile.orig ./python/Makefile
|
||||
--- ./python/Makefile.orig 2007-08-30 15:29:49.000000000 +1000
|
||||
+++ ./python/Makefile 2007-08-30 16:03:46.000000000 +1000
|
||||
@@ -2,7 +2,14 @@ CC = g++
|
||||
SWIG ?= swig
|
||||
|
||||
#Windows: see ../README ../Makefile.win
|
||||
-PYTHON_INCLUDEDIR ?= /usr/include/python2.4
|
||||
+PYTHON_TEMP:=${shell mktemp}
|
||||
+PYTHON_VERSION:=${shell python -V 2> ${PYTHON_TEMP} ; cat ${PYTHON_TEMP} | awk 'BEGIN {FS= "[ .]"} {printf("%s.%s",$$2,$$3)}'; rm -f ${PYTHON_TEMP}}
|
||||
+ifndef PYTHON_INCLUDEDIR
|
||||
+
|
||||
+PYTHON_INCLUDEDIR?= /usr/include/python${PYTHON_VERSION}
|
||||
+
|
||||
+endif
|
||||
+PYTHON_TARGETDIR=${LIB_INSTDIR}/python${PYTHON_VERSION}/site-packages/libsvm
|
||||
|
||||
CFLAGS = -O3 -I$(PYTHON_INCLUDEDIR) -I..
|
||||
LDFLAGS = -shared
|
||||
@@ -28,3 +35,19 @@ clean:
|
||||
|
||||
moreclean: clean
|
||||
rm -f svmc_wrap.c
|
||||
+
|
||||
+install: all
|
||||
+ mkdir -p ${PYTHON_TARGETDIR}
|
||||
+ install -m 755 cross_validation.py ${PYTHON_TARGETDIR}
|
||||
+ install -m 644 svm.py ${PYTHON_TARGETDIR}
|
||||
+ install -m 755 svm_test.py ${PYTHON_TARGETDIR}
|
||||
+ install -m 755 test_cross_validation.py ${PYTHON_TARGETDIR}
|
||||
+ install -m 644 *.i ${PYTHON_TARGETDIR}
|
||||
+ install -m 755 *.so ${PYTHON_TARGETDIR}
|
||||
+ install -m 755 ../tools/*.py ${PYTHON_TARGETDIR}
|
||||
+
|
||||
+uninstall:
|
||||
+ rm -fr ${LIBDIR}/python${PYTHON_VERSION}/site-packages/libsvm
|
||||
+
|
||||
+
|
||||
+
|
||||
diff -up ./tools/grid.py.orig ./tools/grid.py
|
||||
--- ./tools/grid.py.orig 2007-08-30 15:30:17.000000000 +1000
|
||||
+++ ./tools/grid.py 2007-08-30 15:30:25.000000000 +1000
|
||||
@@ -11,7 +11,7 @@ from string import find, split, join, at
|
||||
|
||||
is_win32 = (sys.platform == 'win32')
|
||||
if not is_win32:
|
||||
- svmtrain_exe = "../svm-train"
|
||||
+ svmtrain_exe = "/usr/bin/svm-train"
|
||||
gnuplot_exe = "/usr/bin/gnuplot"
|
||||
else:
|
||||
# example for windows
|
||||
diff -up ./tools/easy.py.orig ./tools/easy.py
|
||||
--- ./tools/easy.py.orig 2007-08-30 15:30:04.000000000 +1000
|
||||
+++ ./tools/easy.py 2007-08-30 15:30:25.000000000 +1000
|
||||
@@ -11,10 +11,10 @@ if len(sys.argv) <= 1:
|
||||
|
||||
is_win32 = (sys.platform == 'win32')
|
||||
if not is_win32:
|
||||
- svmscale_exe = "../svm-scale"
|
||||
- svmtrain_exe = "../svm-train"
|
||||
- svmpredict_exe = "../svm-predict"
|
||||
- grid_py = "./grid.py"
|
||||
+ svmscale_exe = "/usr/bin/svm-scale"
|
||||
+ svmtrain_exe = "/usr/bin/svm-train"
|
||||
+ svmpredict_exe = "/usr/bin/svm-predict"
|
||||
+ grid_py = sys.argv[0].replace("easy.py","grid.py")
|
||||
gnuplot_exe = "/usr/bin/gnuplot"
|
||||
else:
|
||||
# example for windows
|
@ -0,0 +1,239 @@
|
||||
diff -up ./Makefile.orig ./Makefile
|
||||
--- ./Makefile.orig 2007-09-25 10:07:29.000000000 +1000
|
||||
+++ ./Makefile 2007-09-25 14:30:10.000000000 +1000
|
||||
@@ -1,8 +1,39 @@
|
||||
CXXC = g++
|
||||
CFLAGS = -Wall -O3
|
||||
+MAKE = make
|
||||
+LIBSVM_VER =2.84
|
||||
+export LIBSVM_VER
|
||||
|
||||
-all: svm-train svm-predict svm-scale
|
||||
+ifndef DESTDIR
|
||||
+INSTDIR=/usr
|
||||
+else
|
||||
+INSTDIR=${DESTDIR}/usr
|
||||
+endif
|
||||
|
||||
+export INSTDIR
|
||||
+
|
||||
+PROCESSOR=$(shell /bin/uname -p)
|
||||
+ifeq "${PROCESSOR}" "x86_64"
|
||||
+X86_64=64
|
||||
+else
|
||||
+X86_64=
|
||||
+endif
|
||||
+
|
||||
+ifndef LIBDIR
|
||||
+LIB_INSTDIR=${INSTDIR}/lib${X86_64}
|
||||
+else
|
||||
+LIB_INSTDIR=${INSTDIR}/..${LIBDIR}
|
||||
+endif
|
||||
+
|
||||
+export LIB_INSTDIR
|
||||
+
|
||||
+all: svm-train svm-predict svm-scale svm-python svm-java svm-lib
|
||||
+
|
||||
+svm-lib: svm-share.o
|
||||
+ $(CXXC) -shared -Wl,-soname,libsvm.so \
|
||||
+ -o libsvm.so.${LIBSVM_VER} svm-share.o -lm
|
||||
+svm-share.o: svm.cpp svm.h
|
||||
+ $(CXXC) -g -fPIC $(CFLAGS) -c svm.cpp -o svm-share.o
|
||||
svm-predict: svm-predict.c svm.o
|
||||
$(CXXC) $(CFLAGS) svm-predict.c svm.o -o svm-predict -lm
|
||||
svm-train: svm-train.c svm.o
|
||||
@@ -11,5 +42,53 @@ svm-scale: svm-scale.c
|
||||
$(CXXC) $(CFLAGS) svm-scale.c -o svm-scale
|
||||
svm.o: svm.cpp svm.h
|
||||
$(CXXC) $(CFLAGS) -c svm.cpp
|
||||
+svm-python:
|
||||
+ ${MAKE} -C python
|
||||
+svm-java:
|
||||
+ ${MAKE} -C java
|
||||
+
|
||||
+install: all
|
||||
+ mkdir -p ${INSTDIR}/bin
|
||||
+ install -m 755 svm-train ${INSTDIR}/bin
|
||||
+ install -m 755 svm-predict ${INSTDIR}/bin
|
||||
+ install -m 755 svm-scale ${INSTDIR}/bin
|
||||
+ mkdir -p ${LIB_INSTDIR}/libsvm
|
||||
+ install -m 644 libsvm.so.2.84 ${LIB_INSTDIR}/libsvm
|
||||
+ cd ${LIB_INSTDIR}/libsvm; ln -s libsvm.so.${LIBSVM_VER} libsvm.so
|
||||
+ ldconfig -n ${LIB_INSTDIR}/libsvm
|
||||
+# install package libsvm-devel
|
||||
+ install -m 644 svm.o ${LIB_INSTDIR}/libsvm
|
||||
+ mkdir -p ${INSTDIR}/include/libsvm
|
||||
+ install -m 644 svm.h ${INSTDIR}/include/libsvm
|
||||
+ mkdir -p ${INSTDIR}/share/libsvm/src
|
||||
+ install -m 644 *.h ${INSTDIR}/share/libsvm/src
|
||||
+ install -m 644 *.c ${INSTDIR}/share/libsvm/src
|
||||
+ install -m 644 *.cpp ${INSTDIR}/share/libsvm/src
|
||||
+ install -m 644 Makefile ${INSTDIR}/share/libsvm/src
|
||||
+ cp -R java ${INSTDIR}/share/libsvm/src
|
||||
+ cp -R svm-toy ${INSTDIR}/share/libsvm/src
|
||||
+# cp -R tools ${INSTDIR}/share/libsvm/src
|
||||
+# cp -R windows ${INSTDIR}/share/libsvm/src
|
||||
+ mkdir -p ${INSTDIR}/share/libsvm/examples
|
||||
+ install -m 644 heart_scale ${INSTDIR}/share/libsvm/examples
|
||||
+# install package libsvm-python
|
||||
+ ${MAKE} -C python install
|
||||
+ ${MAKE} -C java install
|
||||
+
|
||||
+uninstall:
|
||||
+ rm -f ${INSTDIR}/bin/svm-train
|
||||
+ rm -f ${INSTDIR}/bin/svm-predict
|
||||
+ rm -f ${INSTDIR}/bin/svm-scale
|
||||
+ rm -fr ${INSTDIR}/libsvm/examples
|
||||
+ rm -f ${INSTDIR}/include/libsvm/svm.h
|
||||
+ rm -f ${LIB_INSTDIR}/libsvm/svm.o
|
||||
+ rm -fr ${INSTDIR}/libsvm/src
|
||||
+ rm -fr ${INSTDIR}/libsvm
|
||||
+ ${MAKE} -C python uninstall
|
||||
+ ${MAKE} -C java uninstall
|
||||
+
|
||||
clean:
|
||||
rm -f *~ svm.o svm-train svm-predict svm-scale
|
||||
+ ${MAKE} -C python clean
|
||||
+ ${MAKE} -C java clean
|
||||
+
|
||||
diff -up ./java/libsvm/svm_model.java.orig ./java/libsvm/svm_model.java
|
||||
--- ./java/libsvm/svm_model.java.orig 2007-09-26 10:19:43.000000000 +1000
|
||||
+++ ./java/libsvm/svm_model.java 2007-09-26 10:27:36.000000000 +1000
|
||||
@@ -4,6 +4,7 @@
|
||||
package libsvm;
|
||||
public class svm_model implements java.io.Serializable
|
||||
{
|
||||
+ static final long serialVersionUID = 2709444323471798245L;
|
||||
svm_parameter param; // parameter
|
||||
int nr_class; // number of classes, = 2 in regression/one class svm
|
||||
int l; // total #SV
|
||||
diff -up ./java/libsvm/svm_node.java.orig ./java/libsvm/svm_node.java
|
||||
--- ./java/libsvm/svm_node.java.orig 2007-09-26 10:19:51.000000000 +1000
|
||||
+++ ./java/libsvm/svm_node.java 2007-09-26 10:27:25.000000000 +1000
|
||||
@@ -1,6 +1,7 @@
|
||||
package libsvm;
|
||||
public class svm_node implements java.io.Serializable
|
||||
{
|
||||
+ static final long serialVersionUID = 2709444323471798245L;
|
||||
public int index;
|
||||
public double value;
|
||||
}
|
||||
diff -up ./java/libsvm/svm_problem.java.orig ./java/libsvm/svm_problem.java
|
||||
--- ./java/libsvm/svm_problem.java.orig 2007-09-26 10:20:42.000000000 +1000
|
||||
+++ ./java/libsvm/svm_problem.java 2007-09-26 10:26:05.000000000 +1000
|
||||
@@ -1,6 +1,7 @@
|
||||
package libsvm;
|
||||
public class svm_problem implements java.io.Serializable
|
||||
{
|
||||
+ static final long serialVersionUID = -4451389443706847272L;
|
||||
public int l;
|
||||
public double[] y;
|
||||
public svm_node[][] x;
|
||||
diff -up ./java/libsvm/svm_parameter.java.orig ./java/libsvm/svm_parameter.java
|
||||
--- ./java/libsvm/svm_parameter.java.orig 2007-09-26 10:20:23.000000000 +1000
|
||||
+++ ./java/libsvm/svm_parameter.java 2007-09-26 10:25:14.000000000 +1000
|
||||
@@ -1,6 +1,7 @@
|
||||
package libsvm;
|
||||
public class svm_parameter implements Cloneable,java.io.Serializable
|
||||
{
|
||||
+ static final long serialVersionUID = 2709444323471798245L;
|
||||
/* svm_type */
|
||||
public static final int C_SVC = 0;
|
||||
public static final int NU_SVC = 1;
|
||||
diff -up ./java/libsvm/svm.m4.orig ./java/libsvm/svm.m4
|
||||
diff -up ./java/Makefile.orig ./java/Makefile
|
||||
--- ./java/Makefile.orig 2007-09-25 11:10:21.000000000 +1000
|
||||
+++ ./java/Makefile 2007-09-26 12:42:50.000000000 +1000
|
||||
@@ -1,15 +1,17 @@
|
||||
.SUFFIXES: .class .java
|
||||
-FILES = libsvm/svm.class libsvm/svm_model.class libsvm/svm_node.class \
|
||||
- libsvm/svm_parameter.class libsvm/svm_problem.class \
|
||||
+FILES = libsvm/svm_node.class libsvm/svm_parameter.class \
|
||||
+ libsvm/svm_model.class libsvm/svm_problem.class libsvm/svm.class\
|
||||
svm_train.class svm_predict.class svm_toy.class
|
||||
|
||||
-#JAVAC = jikes
|
||||
-#JAVAC_FLAGS = -target 1.1 -source 1.3
|
||||
-JAVAC = javac
|
||||
-JAVAC_FLAGS =
|
||||
+JAVA_TARGETDIR=${LIB_INSTDIR}/java/libsvm
|
||||
+JAVAC = ecj
|
||||
+#JAVAC_FLAGS = -target 1.3 -source 1.3
|
||||
+CLASSPATH = .
|
||||
+#JAVAC_FLAGS = --classpath=${CLASSPATH}
|
||||
+JAVAC_FLAGS = -classpath ${CLASSPATH}
|
||||
|
||||
all: $(FILES)
|
||||
- jar cvf libsvm.jar *.class libsvm/*.class
|
||||
+ gjar cvf libsvm.jar *.class libsvm/*.class
|
||||
|
||||
.java.class:
|
||||
$(JAVAC) $(JAVAC_FLAGS) $<
|
||||
@@ -17,8 +19,20 @@ all: $(FILES)
|
||||
libsvm/svm.java: libsvm/svm.m4
|
||||
m4 libsvm/svm.m4 > libsvm/svm.java
|
||||
|
||||
+javadoc:
|
||||
+ javadoc -d docs *.java libsvm/*.java
|
||||
+
|
||||
+install:
|
||||
+ mkdir -p ${JAVA_TARGETDIR}
|
||||
+ install -m 644 libsvm.jar ${JAVA_TARGETDIR}
|
||||
+ install -m 644 test_applet.html ${JAVA_TARGETDIR}
|
||||
+# cp -R docs ${JAVA_TARGETDIR}
|
||||
+uninstall:
|
||||
+ rm -fr ${JAVA_TARGETDIR}
|
||||
+
|
||||
clean:
|
||||
rm -f libsvm/*.class *.class *.jar libsvm/*~ *~ libsvm/svm.java
|
||||
+ rm -rf docs
|
||||
|
||||
dist: clean all
|
||||
rm *.class libsvm/*.class
|
||||
diff -up ./java/test_applet.html.orig ./java/test_applet.html
|
||||
--- ./java/test_applet.html.orig 2007-09-25 11:08:29.000000000 +1000
|
||||
+++ ./java/test_applet.html 2007-09-25 11:42:29.000000000 +1000
|
||||
@@ -1 +1,3 @@
|
||||
-<APPLET code="svm_toy.class" archive="libsvm.jar" width=300 height=350></APPLET>
|
||||
+<html>
|
||||
+<applet code="svm_toy.class" archive="libsvm.jar" width=300 height=350></applet>
|
||||
+</html>
|
||||
diff -up ./python/Makefile.orig ./python/Makefile
|
||||
--- ./python/Makefile.orig 2007-09-25 10:07:34.000000000 +1000
|
||||
+++ ./python/Makefile 2007-09-25 11:10:43.000000000 +1000
|
||||
@@ -2,7 +2,14 @@ CC = g++
|
||||
SWIG ?= swig
|
||||
|
||||
#Windows: see ../README ../Makefile.win
|
||||
-PYTHON_INCLUDEDIR ?= /usr/include/python2.4
|
||||
+PYTHON_TEMP:=${shell mktemp}
|
||||
+PYTHON_VERSION:=${shell python -V 2> ${PYTHON_TEMP} ; cat ${PYTHON_TEMP} | awk 'BEGIN {FS= "[ .]"} {printf("%s.%s",$$2,$$3)}'; rm -f ${PYTHON_TEMP}}
|
||||
+ifndef PYTHON_INCLUDEDIR
|
||||
+
|
||||
+PYTHON_INCLUDEDIR?= /usr/include/python${PYTHON_VERSION}
|
||||
+
|
||||
+endif
|
||||
+PYTHON_TARGETDIR=${LIB_INSTDIR}/python${PYTHON_VERSION}/site-packages/libsvm
|
||||
|
||||
CFLAGS = -O3 -I$(PYTHON_INCLUDEDIR) -I..
|
||||
LDFLAGS = -shared
|
||||
@@ -28,3 +35,19 @@ clean:
|
||||
|
||||
moreclean: clean
|
||||
rm -f svmc_wrap.c
|
||||
+
|
||||
+install: all
|
||||
+ mkdir -p ${PYTHON_TARGETDIR}
|
||||
+ install -m 755 cross_validation.py ${PYTHON_TARGETDIR}
|
||||
+ install -m 644 svm.py ${PYTHON_TARGETDIR}
|
||||
+ install -m 755 svm_test.py ${PYTHON_TARGETDIR}
|
||||
+ install -m 755 test_cross_validation.py ${PYTHON_TARGETDIR}
|
||||
+ install -m 644 *.i ${PYTHON_TARGETDIR}
|
||||
+ install -m 755 *.so ${PYTHON_TARGETDIR}
|
||||
+ install -m 755 ../tools/*.py ${PYTHON_TARGETDIR}
|
||||
+
|
||||
+uninstall:
|
||||
+ rm -fr ${LIBDIR}/python${PYTHON_VERSION}/site-packages/libsvm
|
||||
+
|
||||
+
|
||||
+
|
Loading…
Reference in new issue