|
|
f36f7e4 |
diff -up Makefile.orig Makefile
|
|
|
a906061 |
--- Makefile.orig 2023-02-28 01:31:32.000000000 -0700
|
|
|
a906061 |
+++ Makefile 2023-02-28 13:56:21.696052600 -0700
|
|
|
a906061 |
@@ -1,7 +1,14 @@
|
|
|
56c7459 |
CXX ?= g++
|
|
|
56c7459 |
-CFLAGS = -Wall -Wconversion -O3 -fPIC
|
|
|
e6b06f5 |
+CFLAGS = ${RPM_CFLAGS} -Wconversion -fPIC
|
|
|
f36f7e4 |
SHVER = 3
|
|
|
c8f3ad5 |
+export SHVER
|
|
|
c8f3ad5 |
OS = $(shell uname)
|
|
|
f36f7e4 |
+DOT_LIBS = .
|
|
|
f36f7e4 |
+LIBS = -L${DOT_LIBS} -lsvm
|
|
|
d766271 |
+export LIBSVM_VER
|
|
|
f36f7e4 |
+IS_64 := $(shell /bin/uname -i | awk '/64/ {print 64}')
|
|
|
f36f7e4 |
+PREFIXDIR ?= /usr
|
|
|
921d062 |
+export PREFIXDIR
|
|
|
a906061 |
ifeq ($(OS),Darwin)
|
|
|
a906061 |
SHARED_LIB_FLAG = -dynamiclib -Wl,-install_name,libsvm.so.$(SHVER)
|
|
|
a906061 |
else
|
|
|
a906061 |
@@ -9,20 +16,80 @@ else
|
|
|
a906061 |
endif
|
|
|
a906061 |
|
|
|
a906061 |
# Uncomment the following lines to enable parallelization with OpenMP
|
|
|
a906061 |
-# CFLAGS += -fopenmp
|
|
|
a906061 |
-# SHARED_LIB_FLAG += -fopenmp
|
|
|
a906061 |
+CFLAGS += -fopenmp
|
|
|
a906061 |
+SHARED_LIB_FLAG += -fopenmp
|
|
|
f36f7e4 |
|
|
|
0f3e08b |
-all: svm-train svm-predict svm-scale
|
|
|
f36f7e4 |
+LIBDIR ?= ${PREFIXDIR}/lib${IS_64}
|
|
|
921d062 |
+export LIBDIR
|
|
|
f36f7e4 |
|
|
|
0f3e08b |
-lib: svm.o
|
|
|
921d062 |
+DATADIR?=${PREFIXDIR}/share
|
|
|
921d062 |
+export DATADIR
|
|
|
56c7459 |
+
|
|
|
921d062 |
+BINDIR?=${PREFIXDIR}/bin
|
|
|
921d062 |
+export BINDIR
|
|
|
921d062 |
+
|
|
|
921d062 |
+INCLUDEDIR_INSTALL:=${DESTDIR}/${PREFIXDIR}/include
|
|
|
921d062 |
+export INCLUDEDIR_INSTALL
|
|
|
921d062 |
+
|
|
|
921d062 |
+LIBDIR_INSTALL:=${DESTDIR}/${LIBDIR}
|
|
|
921d062 |
+export LIBDIR_INSTALL
|
|
|
921d062 |
+
|
|
|
921d062 |
+DATADIR_INSTALL:=${DESTDIR}/${DATADIR}
|
|
|
921d062 |
+export DATA_INSTALL
|
|
|
921d062 |
+
|
|
|
921d062 |
+BINDIR_INSTALL:=${DESTDIR}/${BINDIR}
|
|
|
921d062 |
+export BINDIR_INSTALL
|
|
|
56c7459 |
+
|
|
|
e6b06f5 |
+all: lib svm-train svm-predict svm-scale svm-python svm-toy-qt
|
|
|
c8f3ad5 |
+
|
|
|
c8f3ad5 |
+lib: libsvm.so.$(SHVER) libsvm.so
|
|
|
c8f3ad5 |
+
|
|
|
c8f3ad5 |
+libsvm.so: libsvm.so.$(SHVER)
|
|
|
56c7459 |
+ ln -sf libsvm.so.$(SHVER) libsvm.so
|
|
|
0b558ee |
+
|
|
|
c8f3ad5 |
+libsvm.so.$(SHVER): svm.o
|
|
|
a906061 |
$(CXX) $(SHARED_LIB_FLAG) svm.o -o libsvm.so.$(SHVER)
|
|
|
56c7459 |
svm-predict: svm-predict.c svm.o
|
|
|
c8f3ad5 |
- $(CXX) $(CFLAGS) svm-predict.c svm.o -o svm-predict -lm
|
|
|
c8f3ad5 |
+ $(CXX) $(CFLAGS) svm-predict.c $(LIBS) -o svm-predict -lm
|
|
|
c8f3ad5 |
svm-train: svm-train.c svm.o
|
|
|
c8f3ad5 |
- $(CXX) $(CFLAGS) svm-train.c svm.o -o svm-train -lm
|
|
|
c8f3ad5 |
+ $(CXX) $(CFLAGS) svm-train.c $(LIBS) -o svm-train -lm
|
|
|
c8f3ad5 |
svm-scale: svm-scale.c
|
|
|
c8f3ad5 |
$(CXX) $(CFLAGS) svm-scale.c -o svm-scale
|
|
|
56c7459 |
svm.o: svm.cpp svm.h
|
|
|
56c7459 |
$(CXX) $(CFLAGS) -c svm.cpp
|
|
|
56c7459 |
clean:
|
|
|
56c7459 |
- rm -f *~ svm.o svm-train svm-predict svm-scale libsvm.so.$(SHVER)
|
|
|
e6b06f5 |
+ rm -f *~ svm.o svm-train svm-predict svm-scale svm-toy/qt/svm-toy-qt
|
|
|
56c7459 |
+ ${MAKE} -C python clean
|
|
|
56c7459 |
+ ${MAKE} -C java clean
|
|
|
56c7459 |
+svm-python:
|
|
|
56c7459 |
+ ${MAKE} -C python
|
|
|
56c7459 |
+
|
|
|
56c7459 |
+svm-toy-qt:
|
|
|
56c7459 |
+ ${MAKE} -C svm-toy/qt
|
|
|
d766271 |
+
|
|
|
56c7459 |
+install: all
|
|
|
921d062 |
+ mkdir -p ${BINDIR_INSTALL}
|
|
|
921d062 |
+ install -m 755 svm-train ${BINDIR_INSTALL}
|
|
|
921d062 |
+ install -m 755 svm-predict ${BINDIR_INSTALL}
|
|
|
921d062 |
+ install -m 755 svm-scale ${BINDIR_INSTALL}
|
|
|
921d062 |
+ mkdir -p ${LIBDIR_INSTALL}
|
|
|
921d062 |
+ install -m 755 libsvm.so.$(SHVER) ${LIBDIR_INSTALL}
|
|
|
56c7459 |
+# install package libsvm-devel
|
|
|
921d062 |
+ mkdir -p ${INCLUDEDIR_INSTALL}/libsvm
|
|
|
921d062 |
+ install -m 644 svm.h ${INCLUDEDIR_INSTALL}/libsvm
|
|
|
56c7459 |
+# install package svm-toy
|
|
|
921d062 |
+ install -m 755 svm-toy/qt/svm-toy-qt ${BINDIR_INSTALL}
|
|
|
56c7459 |
+# install examples
|
|
|
921d062 |
+ mkdir -p ${DATADIR_INSTALL}/libsvm/examples
|
|
|
921d062 |
+ install -m 644 heart_scale ${DATADIR_INSTALL}/libsvm/examples
|
|
|
56c7459 |
+uninstall:
|
|
|
921d062 |
+ rm -f ${BINDIR_INSTALL}/svm-train
|
|
|
921d062 |
+ rm -f ${BINDIR_INSTALL}/svm-predict
|
|
|
921d062 |
+ rm -f ${BINDIR_INSTALL}/svm-scale
|
|
|
921d062 |
+ rm -fr ${DATADIR_INSTALL}/libsvm
|
|
|
921d062 |
+ rm -f ${INCLUDEDIR_INSTALL}/libsvm/svm.h
|
|
|
921d062 |
+ rm -f ${LIBDIR_INSTALL}/libsvm.so*
|
|
|
56c7459 |
+ ${MAKE} -C python uninstall
|
|
|
56c7459 |
+ ${MAKE} -C java uninstall
|
|
|
921d062 |
+ rm -f ${BINDIR_INSTALL}/svm-toy-qt
|
|
|
921d062 |
+
|