Package: minimap / 0.2-4

make_shared_lib Patch series | download
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
Description: build shared library
 Upstream only builds a static library, this adds a shared one.
Author: Sascha Steinbiss <sascha@steinbiss.name>
Last-Update: 2016-01-08
--- a/Makefile
+++ b/Makefile
@@ -1,18 +1,19 @@
 CC=			gcc
-CFLAGS=		-g -Wall -O2 -Wc++-compat -Wno-unused-function
+CFLAGS=		-g -Wall -O2 -Wc++-compat -Wno-unused-function -fPIC
 CPPFLAGS=
 INCLUDES=	-I.
 OBJS=		kthread.o misc.o bseq.o sketch.o sdust.o index.o map.o
 PROG=		minimap
 PROG_EXTRA=	sdust minimap-lite
 LIBS=		-lm -lz -lpthread
+SONUMBER=0
 
 .SUFFIXES:.c .o
 
 .c.o:
 		$(CC) -c $(CFLAGS) $(CPPFLAGS) $(INCLUDES) $< -o $@
 
-all:$(PROG)
+all:$(PROG) libminimap.so.$(SONUMBER)
 
 extra:all $(PROG_EXTRA)
 
@@ -25,6 +26,9 @@
 libminimap.a:$(OBJS)
 		$(AR) -csru $@ $(OBJS)
 
+libminimap.so.$(SONUMBER): $(OBJS)
+		$(CC) -shared -o $@ $(OBJS) -fPIC -Wl,-soname,libminimap.so.$(SONUMBER) $(LIBS) $(LDFLAGS)
+
 sdust:sdust.c kdq.h kvec.h kseq.h sdust.h
 		$(CC) -D_SDUST_MAIN $(CFLAGS) $< -o $@ -lz