~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
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 $@