diff -dur picosat-913.ORIG/makefile.in picosat-913/makefile.in
--- picosat-913.ORIG/makefile.in 2009-07-13 07:04:44.000000000 -0600
+++ picosat-913/makefile.in 2009-09-02 12:29:45.851603078 -0600
@@ -1,14 +1,15 @@
CC=@CC@
CFLAGS=@CFLAGS@
+SONAME=-Xlinker -soname -Xlinker libpicosat.so.0
-all: picosat libpicosat.a
+all: picosat libpicosat.so
clean:
rm -f picosat *.exe *.s *.o *.a *.so
rm -f makefile config.h
rm -f gmon.out *~
-picosat: libpicosat.a app.o main.o
+picosat: libpicosat.so app.o main.o
$(CC) $(CFLAGS) -o $@ main.o app.o -L. -lpicosat
app.o: app.c picosat.h makefile
@@ -18,16 +19,15 @@
$(CC) $(CFLAGS) -c $<
picosat.o: picosat.c picosat.h makefile
- $(CC) $(CFLAGS) -c $<
+ $(CC) $(CFLAGS) -fPIC -c $<
version.o: version.c config.h makefile
- $(CC) $(CFLAGS) -c $<
+ $(CC) $(CFLAGS) -fPIC -c $<
config.h: makefile VERSION mkconfig # and actually picosat.c
rm -f $@; ./mkconfig > $@
-libpicosat.a: picosat.o version.o
- ar rc $@ picosat.o version.o
- ranlib $@
+libpicosat.so: picosat.o version.o
+ $(CC) $(CFLAGS) -shared -o $@ picosat.o version.o $(SONAME)
.PHONY: all clean