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
|
Description: Create dynamic library
Author: Michael Tautschnig
Last-Update: 2012-12-02 11:32:09 +0000
--- a/makefile.in
+++ b/makefile.in
@@ -8,6 +8,7 @@ clean:
rm -f *.exe *.s *.o *.a *.so *.plist
rm -f makefile config.h
rm -f gmon.out *~
+ rm -f *.so.1.0.0 picomus
analyze:
clang --analyze $(CFLAGS) *.c *.h
@@ -52,8 +53,17 @@ libpicosat.a: picosat.o version.o
ar rc $@ picosat.o version.o
ranlib $@
-SONAME=-Xlinker -soname -Xlinker libpicosat.so
-libpicosat.so: picosat.o version.o
- $(CC) $(CFLAGS) -shared -o $@ picosat.o version.o $(SONAME)
+%.pic.o: %.o
+ mv $< $*.nopic.o
+ $(MAKE) CFLAGS="$(CFLAGS) -fPIC" $<
+ mv $< $@
+ mv $*.nopic.o $<
+
+SONAME=-Xlinker -soname -Xlinker libpicosat.so.1
+libpicosat.so: picosat.pic.o version.pic.o
+ $(CC) $(CFLAGS) -shared -o libpicosat.so.1.0.0 $^ -lc $(SONAME)
+
+libpicosat-trace.so: picosat.pic.o version.pic.o
+ $(CC) $(CFLAGS) -shared -o libpicosat-trace.so.1.0.0 $^ -lc -Wl,-soname,libpicosat-trace.so.1
.PHONY: all clean
|