1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
|
# General SVM lib options
LIBFLAGS=-fPIC
LDFLAGS=-lm
CXXC=g++
CFLAGS=-Wall -O3
LVER=2
LSUBVER=84
LREV=0
SOVER=$(LVER).$(LSUBVER).$(LREV)
LIBNAME=libsvm.so
LIBFILE=$(LIBNAME).$(SOVER)
# Python stuff
PYVER=2.4
PYNAME=libsvm
PYPACKAGE=python-$(PYNAME)
BASE=$(CURDIR)/debian
BUILDDIR=$(BASE)/build
PY_COMMON_PATH=$(BASE)/$(PYPACKAGE)-common/usr/share/$(PYPACKAGE)/
all: svm-train svm-predict svm-scale $(LIBNAME) .pystuff
.pystuff:
$(MAKE) -C python
touch $@
$(LIBFILE): svm.o
$(CXXC) -shared -Wl,-soname,$(LIBNAME).$(LVER) -o $(LIBFILE) svm.o $(LDFLAGS) && \
ln -s $(LIBFILE) $(LIBNAME).$(LVER) && \
ln -s $(LIBNAME).$(LVER) $(LIBNAME)
svm-predict: $(LIBFILE) svm-predict.c svm.o
$(CXXC) $(CFLAGS) svm-predict.c $(LIBFILE) -o svm-predict $(LDFLAGS)
svm-train: $(LIBFILE) svm-train.c svm.o
$(CXXC) $(CFLAGS) svm-train.c $(LIBFILE) -o svm-train $(LDFLAGS)
svm-scale: $(LIBFILE) svm-scale.c
$(CXXC) $(CFLAGS) svm-scale.c -o svm-scale
svm.o: svm.cpp svm.h
$(CXXC) $(LIBFLAGS) $(CFLAGS) -c svm.cpp
clean:
rm -f *~ svm.o svm-train svm-predict svm-scale $(LIBNAME)* *-stamp .pystuff && make -C python clean
install: install-headers install-library
install-headers:
install -D svm.h $(DESTDIR)/usr/include/libsvm/svm.h
install-library:
install -D $(LIBFILE) $(DESTDIR)/usr/lib/
|