~ubuntu-branches/ubuntu/hardy/libsvm/hardy

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/