--- Makefile.orig 2010-12-02 19:44:31.000000000 +0000 +++ Makefile 2010-12-02 19:43:59.000000000 +0000 @@ -1,19 +1,21 @@ CXX ?= g++ -CFLAGS = -Wall -Wconversion -O3 -fPIC +CFLAGS ?= -Wall -Wconversion -O3 SHVER = 2 +PICFLAGS ?= -fPIC -all: svm-train svm-predict svm-scale +all: svm-train svm-predict svm-scale lib lib: svm.o - $(CXX) -shared -dynamiclib svm.o -o libsvm.so.$(SHVER) + $(CXX) $(LDFLAGS) -shared -Wl,-soname,libsvm.so.$(SHVER) svm.o -o libsvm.so.$(SHVER) -lm && \ + ln -s libsvm.so.$(SHVER) libsvm.so svm-predict: svm-predict.c svm.o - $(CXX) $(CFLAGS) svm-predict.c svm.o -o svm-predict -lm + $(CXX) $(CXXFLAGS) $(LDFLAGS) svm-predict.c svm.o -o svm-predict -lm svm-train: svm-train.c svm.o - $(CXX) $(CFLAGS) svm-train.c svm.o -o svm-train -lm + $(CXX) $(CXXFLAGS) $(LDFLAGS) svm-train.c svm.o -o svm-train -lm svm-scale: svm-scale.c - $(CXX) $(CFLAGS) svm-scale.c -o svm-scale + $(CXX) $(CXXFLAGS) $(LDFLAGS) svm-scale.c -o svm-scale svm.o: svm.cpp svm.h - $(CXX) $(CFLAGS) -c svm.cpp + $(CXX) $(CXXFLAGS) $(PICFLAGS) -c svm.cpp clean: - rm -f *~ svm.o svm-train svm-predict svm-scale libsvm.so.$(SHVER) + rm -f *~ svm.o svm-train svm-predict svm-scale libsvm.so.$(SHVER) libsvm.so