#!/usr/bin/make -f include /usr/share/cdbs/1/rules/debhelper.mk # install examples DEB_INSTALL_EXAMPLES_libsvm-dev = svm-train.c svm-predict.c DEB_INSTALL_EXAMPLES_libsvm-tools = heart_scale # install documents DEB_INSTALL_DOCS_libsvm-dev = FAQ.html README DEB_INSTALL_DOCS_libsvm-tools = FAQ.html DEB_INSTALL_DOCS_python-libsvm = python/README # install manpages DEB_INSTALL_MANPAGES_libsvm-tools = debian/doc/svm-train.1 debian/doc/svm-predict.1 debian/doc/svm-scale.1 debian/doc/svm-grid.1 debian/doc/svm-subset.1 debian/doc/svm-checkdata.1 debian/doc/svm-easy.1 # use pysupport to install files of python-libsvm #PYVERS=$(shell pyversions -vs) LVER=3 LSUBVER=21 SOVER=$(LVER).$(LSUBVER) LIBFILE=libsvm.so.$(SOVER) export DEB_CFLAGS_MAINT_APPEND+=-fPIE export DEB_CFLAGS_MAINT_APPEND+=-pie export DEB_BUILD_MAINT_OPTIONS = hardening=+bindnow DPKG_EXPORT_BUILDFLAGS = 1 include /usr/share/dpkg/buildflags.mk CXX ?= g++ HARDEN_CFLAGS=$(CFLAGS) $(LDFLAGS) $(CPPFLAGS) HARDEN_CXXFLAGS=$(CXXFLAGS) $(LDFLAGS) $(CPPFLAGS) build: build-arch build-indep build-arch: svm-train svm-predict svm-scale $(LIBFILE) chname build-indep: .javastuff .javastuff: $(MAKE) -C java $(LIBFILE): svm.o $(CXX) $(HARDEN_CFLAGS) -fPIC -shared -Wl,-soname,libsvm.so.$(LVER) -o $(LIBFILE) svm.o -lm && \ ln -s $(LIBFILE) libsvm.so.$(LVER) && \ ln -s libsvm.so.$(LVER) libsvm.so svm-predict: svm-predict.c svm.o $(CXX) $(HARDEN_CFLAGS) svm-predict.c svm.o -o svm-predict -lm svm-train: svm-train.c svm.o $(CXX) $(HARDEN_CFLAGS) svm-train.c svm.o -o svm-train -lm svm-scale: svm-scale.c $(CXX) $(HARDEN_CFLAGS) svm-scale.c -o svm-scale svm.o: svm.cpp svm.h $(CXX) $(HARDEN_CXXFLAGS) -fPIC -c svm.cpp chname: cp tools/checkdata.py tools/svm-checkdata cp tools/easy.py tools/svm-easy cp tools/grid.py tools/svm-grid cp tools/subset.py tools/svm-subset sed -i 's/..\/svm-train/\/usr\/bin\/svm-train/g' tools/svm-* sed -i 's/..\/svm-predict/\/usr\/bin\/svm-predict/g' tools/svm-* sed -i 's/..\/svm-scale/\/usr\/bin\/svm-scale/g' tools/svm-* sed -i 's/.\/grid.py/\/usr\/bin\/svm-grid/g' tools/svm-easy sed -i 's/"get no rate"/RuntimeError("get no rate")/g' tools/svm-grid binary-install/libsvm3-java:: cp java/libsvm.jar $(CURDIR)/debian/libsvm3-java/usr/share/java/libsvm3.jar binary-install/python-libsvm:: dh_python2 -ppython-libsvm binary-install/libsvm-tools:: dh_python2 -plibsvm-tools clean:: $(MAKE) clean find . -name "*.class" | xargs -r rm find . -name "*.jar" | xargs -r rm rm -f libsvm.so libsvm.so.$(LVER) libsvm.so.$(LVER).$(LSUBVER) tools/svm-*