You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
libsvm/libsvm-3.0-1.packageMain.patch

115 lines
3.3 KiB

diff -up ./Makefile.packageMain ./Makefile
--- ./Makefile.packageMain 2010-09-12 22:11:10.000000000 +1000
+++ ./Makefile 2010-12-14 16:00:15.269681221 +1000
@@ -1,11 +1,40 @@
CXX ?= g++
-CFLAGS = -Wall -Wconversion -O3 -fPIC
+CFLAGS = ${RPM_CFLAGS} -Wall -Wconversion -O3 -fPIC
SHVER = 2
+MAKE = make
+DOT_LIBS=.libs
+LIBS= -L${DOT_LIBS} -lsvm
+export LIBSVM_VER
+
+ifndef DESTDIR
+ INSTDIR=/usr
+else
+ INSTDIR=${DESTDIR}/usr
+endif
+
+export INSTDIR
+
+IS_64=$(shell /bin/uname -i | awk '/64/ {print 64}')
+
+ifndef LIBDIR
+ LIB_INSTDIR=${INSTDIR}/lib${IS_64}
+else
+ LIB_INSTDIR=${INSTDIR}/..${LIBDIR}
+endif
+
+ifndef LIBDIR
+ LIBDIR=/usr/lib${IS_64}
+endif
+
+export LIBDIR
+export LIB_INSTDIR
+
+all: lib svm-train svm-predict svm-scale svm-python svm-java svm-toy-gtk svm-toy-qt
-all: svm-train svm-predict svm-scale
lib: svm.o
- $(CXX) -shared -dynamiclib svm.o -o libsvm.so.$(SHVER)
+ $(CXX) -shared -Wl,-soname,libsvm.so.$(SHVER) svm.o -o libsvm.so.$(SHVER)
+ ln -sf libsvm.so.$(SHVER) libsvm.so
svm-predict: svm-predict.c svm.o
$(CXX) $(CFLAGS) svm-predict.c svm.o -o svm-predict -lm
@@ -16,4 +45,65 @@ svm-scale: svm-scale.c
svm.o: svm.cpp svm.h
$(CXX) $(CFLAGS) -c svm.cpp
clean:
- rm -f *~ svm.o svm-train svm-predict svm-scale libsvm.so.$(SHVER)
+ rm -f *~ svm.o svm-train svm-predict svm-scale svm-toy/gtk/svm-toy-gtk svm-toy/qt/svm-toy-qt
+ ${MAKE} -C python clean
+ ${MAKE} -C java clean
+svm-python:
+ ${MAKE} -C python
+
+svm-java:
+ifneq ("${NO_JAVA}","NO_JAVA")
+ ${MAKE} -C java
+endif
+svm-toy-gtk:
+ ${MAKE} -C svm-toy/gtk
+
+svm-toy-qt:
+ ${MAKE} -C svm-toy/qt
+
+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}
+ install -m 755 libsvm.so.$(SHVER) ${LIB_INSTDIR}
+# install package libsvm-devel
+ mkdir -p ${INSTDIR}/include/libsvm
+ install -m 644 svm.h ${INSTDIR}/include/libsvm
+ mkdir -p ${INSTDIR}/share/libsvm/src/java/libsvm
+ 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
+ifneq ("${NO_JAVA}","NO_JAVA")
+ install -m 644 java/*.java ${INSTDIR}/share/libsvm/src/java
+ install -m 644 java/Makefile ${INSTDIR}/share/libsvm/src/java
+ install -m 644 java/libsvm/*.java ${INSTDIR}/share/libsvm/src/java/libsvm
+ install -m 644 java/libsvm/*.m4 ${INSTDIR}/share/libsvm/src/java/libsvm
+# install package libsvm-java
+ ${MAKE} -C java install
+endif
+# install package libsvm-python
+ ${MAKE} -C python install
+# install package svm-toy
+ install -m 755 svm-toy/gtk/svm-toy-gtk ${INSTDIR}/bin
+ install -m 755 svm-toy/qt/svm-toy-qt ${INSTDIR}/bin
+# install examples
+ mkdir -p ${INSTDIR}/share/libsvm/examples
+ install -m 644 heart_scale ${INSTDIR}/share/libsvm/examples
+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
+ifneq ("${NO_JAVA}","NO_JAVA")
+ ${MAKE} -C java uninstall
+endif
+ rm -f ${INSTDIR}/bin/svm-toy-gtk
+ rm -f ${INSTDIR}/bin/svm-toy-qt