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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
|
# 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.dylib
LIBFILE=$(LIBNAME).$(SOVER)
# Python stuff
PYVER=2.3
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 -f Makefile.osx
touch $@
$(LIBFILE): svm.o
$(CXXC) -dynamiclib -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: mkdirs
install svm.h $(DESTDIR)/usr/include/libsvm/svm.h
install-library: mkdirs
install $(LIBFILE) $(DESTDIR)/usr/lib/
SHAREDOPT=-dynamiclib
mkdirs: $(DESTDIR)/usr $(DESTDIR)/usr/include $(DESTDIR)/usr/include/libsvm $(DESTDIR)/usr/lib
$(DESTDIR)/usr:
mkdir $@
$(DESTDIR)/usr/include:
mkdir $@
$(DESTDIR)/usr/include/libsvm:
mkdir $@
$(DESTDIR)/usr/lib:
mkdir $@
|