Files
macports-ports/math/liblinear/files/patch-Makefile.diff
2023-08-20 08:48:00 -04:00

40 lines
1.2 KiB
Diff

--- Makefile.orig 2023-02-17 20:01:34.000000000 +0800
+++ Makefile 2023-05-15 18:46:27.000000000 +0800
@@ -3,18 +3,22 @@
CFLAGS = -Wall -Wconversion -O3 -fPIC
LIBS = blas/blas.a
#LIBS = -lblas
-SHVER = 5
+#SHVER = 5
+PREFIX ?= /usr/local
+
OS = $(shell uname)
-ifeq ($(OS),Darwin)
- SHARED_LIB_FLAG = -dynamiclib -Wl,-install_name,liblinear.so.$(SHVER)
-else
- SHARED_LIB_FLAG = -shared -Wl,-soname,liblinear.so.$(SHVER)
-endif
-all: train predict
+all: train predict lib
lib: linear.o newton.o blas/blas.a
- $(CXX) $(SHARED_LIB_FLAG) linear.o newton.o blas/blas.a -o liblinear.so.$(SHVER)
+ if [ "$(OS)" = "Darwin" ]; then \
+ LIBEXT=".dylib"; \
+ SHARED_LIB_FLAG="-dynamiclib -install_name $(PREFIX)/lib/liblinear$${LIBEXT}"; \
+ else \
+ LIBEXT=".so"; \
+ SHARED_LIB_FLAG="-shared -Wl,-soname,liblinear$${LIBEXT}"; \
+ fi; \
+ $(CXX) $${SHARED_LIB_FLAG} linear.o newton.o blas/blas.a -o liblinear$${LIBEXT}
train: newton.o linear.o train.c blas/blas.a
$(CXX) $(CFLAGS) -o train train.c newton.o linear.o $(LIBS)
@@ -34,4 +38,4 @@
clean:
make -C blas clean
make -C matlab clean
- rm -f *~ newton.o linear.o train predict liblinear.so.$(SHVER)
+ rm -f *~ newton.o linear.o train predict liblinear.*