mirror of
https://github.com/macports/macports-ports.git
synced 2026-07-12 18:20:25 -07:00
94 lines
2.8 KiB
Diff
94 lines
2.8 KiB
Diff
--- Makefile.orig 2012-04-12 03:37:14.000000000 +0900
|
|
+++ Makefile 2012-11-10 08:41:14.000000000 +0900
|
|
@@ -1,28 +1,67 @@
|
|
-CXX ?= g++
|
|
-CFLAGS = -Wall -Wconversion -O3 -fPIC
|
|
-SHVER = 4
|
|
-OS = $(shell uname)
|
|
-ifeq ($(OS),Darwin)
|
|
- SHARED_LIB_FLAG = -dynamiclib -Wl,-install_name,libsvm.so.$(SHVER)
|
|
-else
|
|
- SHARED_LIB_FLAG = -shared -Wl,-soname,libsvm.so.$(SHVER)
|
|
-endif
|
|
+CC ?= clang
|
|
+CXX ?= clang++
|
|
|
|
-# Uncomment the following lines to enable parallelization with OpenMP
|
|
-# CFLAGS += -fopenmp
|
|
-# SHARED_LIB_FLAG += -fopenmp
|
|
+CPPFLAGS +=
|
|
+CFLAGS +=
|
|
+LDFLAGS += -L.
|
|
+LIBS +=
|
|
|
|
-all: svm-train svm-predict svm-scale
|
|
+VMAJOR := $(shell echo $(VERSION) | sed -rne 's/([0-9]*)\.[0-9].*/\1/p')
|
|
+VMINOR := $(shell echo $(VERSION) | sed -rne 's/[0-9]\.([0-9]*)\..*/\1/p')
|
|
+VPATCH := $(shell echo $(VERSION) | sed -rne 's/[0-9]*\.[0-9]*\.([0-9]*).*/\1/p')
|
|
+SHVER = $(VMAJOR)
|
|
|
|
-lib: svm.o
|
|
- $(CXX) $(SHARED_LIB_FLAG) svm.o -o libsvm.so.$(SHVER)
|
|
-svm-predict: svm-predict.c svm.o
|
|
- $(CXX) $(CFLAGS) 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
|
|
+DYLIBFILE = libsvm.$(VERSION).dylib
|
|
+
|
|
+LIB_LIBS += $(LIBS)
|
|
+LIB_CFLAGS += $(CFLAGS)
|
|
+LIB_LDFLAGS += $(LIBS) -fPIC
|
|
+
|
|
+EXE_CFLAGS += $(CFLAGS)
|
|
+EXE_LDFLAGS += $(LDFLAGS)
|
|
+
|
|
+incdir ?= $(PREFIX)/include
|
|
+bindir ?= $(PREFIX)/bin
|
|
+libdir ?= $(PREFIX)/lib
|
|
+incdest = $(DESTDIR)$(incdir)
|
|
+bindest = $(DESTDIR)$(bindir)
|
|
+libdest = $(DESTDIR)$(libdir)
|
|
+
|
|
+all: svm-train svm-predict svm-scale libsvm.a
|
|
+
|
|
+svm-predict: svm-predict.c $(DYLIBFILE)
|
|
+ $(CC) $(CPPFLAGS) $(EXE_CFLAGS) $(EXE_LDFLAGS) svm-predict.c -o $@ -lm -lsvm -lstdc++
|
|
+
|
|
+svm-train: svm-train.c $(DYLIBFILE)
|
|
+ $(CC) $(CPPFLAGS) $(EXE_CFLAGS) $(EXE_LDFLAGS) svm-train.c -o $@ -lm -lsvm -lstdc++
|
|
+
|
|
svm-scale: svm-scale.c
|
|
- $(CXX) $(CFLAGS) svm-scale.c -o svm-scale
|
|
-svm.o: svm.cpp svm.h
|
|
- $(CXX) $(CFLAGS) -c svm.cpp
|
|
+ $(CC) $(CPPFLAGS) $(EXE_CFLAGS) $(EXE_LDFLAGS) svm-scale.c -o $@
|
|
+
|
|
+$(DYLIBFILE): svm.cpp svm.h
|
|
+ $(CXX) $(CPPFLAGS) $(LIB_CFLAGS) $(LIB_LDFLAGS) -dynamiclib \
|
|
+ -install_name $(libdir)/$@ \
|
|
+ -current_version $(VERSION) \
|
|
+ -compatibility_version $(SHVER).$(VMINOR) \
|
|
+ -o $@ svm.cpp
|
|
+ rm -f libsvm.$(SHVER).dylib libsvm.dylib
|
|
+ ln -s $@ libsvm.$(SHVER).dylib
|
|
+ ln -s libsvm.$(SHVER).dylib libsvm.dylib
|
|
+
|
|
+libsvm.a:
|
|
+ $(CXX) $(CPPFLAGS) $(LIB_CFLAGS) -c -o svm.o svm.cpp
|
|
+ ar rc libsvm.a svm.o
|
|
+ ranlib -c libsvm.a
|
|
+
|
|
+install: all
|
|
+ $(INSTALL) -d $(bindest) $(libdest)
|
|
+ $(INSTALL) -m 755 svm-train svm-predict svm-scale $(bindest)
|
|
+ $(INSTALL) -m 644 libsvm.a $(libdest)
|
|
+ $(INSTALL) -m 644 $(DYLIBFILE) $(libdest)
|
|
+ $(INSTALL) -m 644 svm.h $(incdest)
|
|
+ cd $(libdest) && ln -s $(DYLIBFILE) libsvm.$(SHVER).dylib
|
|
+ cd $(libdest) && ln -s libsvm.$(SHVER).dylib libsvm.dylib
|
|
+
|
|
clean:
|
|
- rm -f *~ svm.o svm-train svm-predict svm-scale libsvm.so.$(SHVER)
|
|
+ rm -f *~ svm.o svm-train svm-predict svm-scale
|
|
+ rm -f *.a *.dylib
|